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