17 #ifndef AWALI_CORE_RAT_LESS_THAN_HH 
   18 # define AWALI_CORE_RAT_LESS_THAN_HH 
   25 namespace awali { 
namespace sttc
 
   31     template <
class RatExpSet>
 
   33       : 
public RatExpSet::const_visitor
 
   43       using node_t = 
typename super_type::node_t;
 
   44       using inner_t = 
typename super_type::inner_t;
 
   45       template <rat::exp::type_t Type>
 
   47       template <rat::exp::type_t Type>
 
   49       template <rat::exp::type_t Type>
 
   57         size_t lhss = sizer(lhs);
 
   58         size_t rhss = sizer(rhs);
 
   64         else if (lhs->type() < rhs->type())
 
   66         else if (lhs->type() > rhs->type())
 
   81       using Type ## _t = typename super_type::Type ## _t;               \ 
   83       visit(const Type ## _t& lhs)                                      \ 
   85         res_ = less_than_(lhs, *down_pointer_cast<const Type ## _t>(rhs_)); \ 
  122       template <rat::exp::type_t Type>
 
  125         auto ls = lhs.size();
 
  126         auto rs = rhs.size();
 
  132           for (
size_t i = 0; i < ls; ++i)
 
  140       template <rat::exp::type_t Type>
 
  146       template <rat::exp::type_t Type>
 
  164   template <
class RatExpSet>
 
  165   typename RatExpSet::ratexp_t
 
  166   less_than(
const RatExpSet& rs, 
const typename RatExpSet::ratexp_t& v)
 
  168     return rs.less_than(v);
 
Definition: ratexp.hh:280
 
Definition: ratexp.hh:262
 
Definition: less_than.hh:34
 
typename super_type::atom_t atom_t
Definition: less_than.hh:88
 
labelset_t_of< context_t > labelset_t
Definition: less_than.hh:38
 
typename super_type::template variadic_t< Type > variadic_t
Definition: less_than.hh:48
 
bool operator()(ratexp_t lhs, ratexp_t rhs)
Whether lhs < rhs.
Definition: less_than.hh:54
 
typename super_type::template weight_node_t< Type > weight_node_t
Definition: less_than.hh:50
 
typename super_type::template unary_t< Type > unary_t
Definition: less_than.hh:46
 
typename ratexpset_t::const_visitor super_type
Definition: less_than.hh:42
 
weightset_t_of< context_t > weightset_t
Definition: less_than.hh:39
 
RatExpSet ratexpset_t
Definition: less_than.hh:36
 
bool less_than_(const zero_t &, const zero_t &)
Definition: less_than.hh:107
 
typename context_t::ratexp_t ratexp_t
Definition: less_than.hh:41
 
bool less_than_(const weight_node_t< Type > &lhs, const weight_node_t< Type > &rhs)
Definition: less_than.hh:147
 
typename super_type::zero_t zero_t
Definition: less_than.hh:100
 
context_t_of< ratexpset_t > context_t
Definition: less_than.hh:37
 
typename super_type::one_t one_t
Definition: less_than.hh:93
 
bool less_than_(const one_t &, const one_t &)
Definition: less_than.hh:112
 
bool less_than_(const variadic_t< Type > &lhs, const variadic_t< Type > &rhs)
Definition: less_than.hh:123
 
bool less_than_(const unary_t< Type > &lhs, const unary_t< Type > &rhs)
Definition: less_than.hh:141
 
bool less_than_(const atom_t &lhs, const atom_t &rhs)
Definition: less_than.hh:117
 
weight_t_of< context_t > weight_t
Definition: less_than.hh:40
 
typename super_type::inner_t inner_t
Definition: less_than.hh:44
 
typename super_type::node_t node_t
Definition: less_than.hh:43
 
Definition: ratexp.hh:176
 
An inner node with multiple children.
Definition: ratexp.hh:115
 
An inner node implementing a weight.
Definition: ratexp.hh:208
 
#define VISIT(Type)
Definition: less_than.hh:80
 
RatExpSet::ratexp_t less_than(const RatExpSet &rs, const typename RatExpSet::ratexp_t &v)
Definition: less_than.hh:166
 
typename internal::weight_t_of_impl< internal::base_t< ValueSet > >::type weight_t_of
Helper to retrieve the type of the weights of a value set.
Definition: traits.hh:81
 
typename internal::context_t_of_impl< internal::base_t< ValueSet > >::type context_t_of
Helper to retrieve the type of the context of a value set.
Definition: traits.hh:66
 
typename internal::labelset_t_of_impl< internal::base_t< ValueSet > >::type labelset_t_of
Helper to retrieve the type of the labelset of a value set.
Definition: traits.hh:76
 
typename internal::weightset_t_of_impl< internal::base_t< ValueSet > >::type weightset_t_of
Helper to retrieve the type of the weightset of a value set.
Definition: traits.hh:86
 
Main namespace of Awali.
Definition: ato.hh:22