11 #define DEFINE_CTOR(Node) \
12 template <typename Context> \
15 #define DEFINE(Node) \
16 template <typename Context> \
44 #define DEFINE_CTOR(Node) \
45 template <type_t Type, typename Context> \
46 Node<Type, Context>::Node
48 #define DEFINE(Node) \
49 template <type_t Type, typename Context> \
63 DEFINE(variadic)::begin() const
69 DEFINE(variadic)::end() const
81 DEFINE(variadic)::operator[](size_t n) const
87 DEFINE(variadic)::head() const
99 DEFINE(variadic)::tail() const
100 -> decltype(
boost::make_iterator_range(*this, 1, 0))
102 return boost::make_iterator_range(*
this, 1, 0);
105 DEFINE(variadic)::subs() const
111 DEFINE(variadic)::accept(typename super_t::const_visitor&
v) const
125 DEFINE(unary)::sub() const
131 DEFINE(unary)::accept(typename super_t::const_visitor&
v) const
142 : sub_(std::move(sub))
146 DEFINE(weight_node)::sub() const
152 DEFINE(weight_node)::weight() const
158 DEFINE(weight_node)::set_weight(weight_t w)
164 DEFINE(weight_node)::accept(typename super_t::const_visitor&
v) const
175 DEFINE(constant)::accept(typename super_t::const_visitor&
v) const
#define DEFINE_CTOR(Node)
Container::value_type back(const Container &container)
The last member of this Container.
label_t_of< Context > label_t
The abstract parameterized, root for all rational expression types.
value_impl< detail::weight_tag > weight
size_t size(const ExpSet &rs, const typename ExpSet::value_t &r)