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> \
112 -> decltype(boost::make_iterator_range(*this, 1, 0))
114 return boost::make_iterator_range(*
this, 1, 0);
154 : sub_(std::move(sub))
value_impl< detail::weight_tag > weight
The abstract parameterized, root for all rational expression types.
label_t_of< Context > label_t
typename values_t::const_iterator const_iterator
std::shared_ptr< const node_t > value_t
An expression usable with value semantics.
size_t size(const ExpSet &rs, const typename ExpSet::value_t &r)
An inner node implementing a weight.
#define DEFINE_CTOR(Node)
weight_t_of< Context > weight_t
typename values_t::const_reverse_iterator const_reverse_iterator
std::vector< value_t > values_t
An inner node with multiple children.
Container::value_type back(const Container &container)
The last member of this Container.