9     template <typename ExpSet>                  \ 
   14     DEFINE::visit(const Type ## _t& v)        \ 
   34     template <
typename ExpSet>
 
   41     template <
typename ExpSet>
 
   48     template <
typename ExpSet>
 
   49     template <type_t Type>
 
   54       n.sub()->accept(*
this);
 
   57     template <
typename ExpSet>
 
   58     template <type_t Type>
 
   63       hash_combine(res_, ExpSet::weightset_t::hash(n.weight()));
 
   64       n.sub()->accept(*
this);
 
   67     template <
typename ExpSet>
 
   68     template <type_t Type>
 
   73       for (
const auto& child : n)
 
typename super_t::template unary_t< Type > unary_t
The abstract parameterized, root for all rational expression types. 
typename super_t::template weight_node_t< Type > weight_node_t
typename super_t::template variadic_t< Type > variadic_t
void combine_type(const node_t &node)
Update res_ by hashing the node type; this is needed for any node. 
weight_node< type_t::rweight, Context > rweight
typename super_t::node_t node_t
Actual node, without indirection. 
void hash_combine(std::size_t &seed, const T &v)
void visit_(const node_t &v)
Traverse a nullary node (atom, \z, \e). 
weight_node< type_t::lweight, Context > lweight