Stan  2.14.0
probability, sampling & optimization
idx.hpp
Go to the documentation of this file.
1 #ifndef STAN_LANG_AST_NODE_IDX_HPP
2 #define STAN_LANG_AST_NODE_IDX_HPP
3 
10 #include <boost/variant/recursive_variant.hpp>
11 
12 namespace stan {
13  namespace lang {
14 
20  struct idx {
24  typedef boost::variant<boost::recursive_wrapper<uni_idx>,
25  boost::recursive_wrapper<multi_idx>,
26  boost::recursive_wrapper<omni_idx>,
27  boost::recursive_wrapper<lb_idx>,
28  boost::recursive_wrapper<ub_idx>,
29  boost::recursive_wrapper<lub_idx> >
31 
35  idx();
36 
42  idx(const uni_idx& i); // NOLINT(runtime/explicit)
43 
49  idx(const multi_idx& i); // NOLINT(runtime/explicit)
50 
56  idx(const omni_idx& i); // NOLINT(runtime/explicit)
57 
63  idx(const lb_idx& i); // NOLINT(runtime/explicit)
64 
70  idx(const ub_idx& i); // NOLINT(runtime/explicit)
71 
77  idx(const lub_idx& i); // NOLINT(runtime/explicit)
78 
83  };
84 
85  }
86 }
87 #endif
88 
AST structure to hold a single array or matrix/vector index.
Definition: uni_idx.hpp:12
Probability, optimization and sampling library.
boost::variant< boost::recursive_wrapper< uni_idx >, boost::recursive_wrapper< multi_idx >, boost::recursive_wrapper< omni_idx >, boost::recursive_wrapper< lb_idx >, boost::recursive_wrapper< ub_idx >, boost::recursive_wrapper< lub_idx > > idx_t
Variant type for the six index types.
Definition: idx.hpp:30
AST structure for lower and upper bounds.
Definition: lub_idx.hpp:12
AST structure for holding an upper-bound index.
Definition: ub_idx.hpp:12
AST structure for representing all legal indexes.
Definition: omni_idx.hpp:10
idx()
Construct a default index.
Definition: idx_def.hpp:9
AST variant structure for indexes, holding any of a unary, multi, omni, lower-bound, upper-bound, or lower- and upper-bound index.
Definition: idx.hpp:20
AST structure for holding a lower-bound index.
Definition: lb_idx.hpp:12
idx_t idx_
The index variant object.
Definition: idx.hpp:82

     [ Stan Home Page ] © 2011–2016, Stan Development Team.