Vcsn  2.2
Be Rational
less-than.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdexcept>
4 
6 
7 namespace vcsn
8 {
9 
10  /*-------------------------------------.
11  | less_than(expression, expression). |
12  `-------------------------------------*/
13 
15  template <typename ExpSet>
16  bool
17  less_than(const ExpSet& rs,
18  const typename ExpSet::value_t& lhs,
19  const typename ExpSet::value_t& rhs)
20  {
21  return rs.less(lhs, rhs);
22  }
23 
24  namespace dyn
25  {
26  namespace detail
27  {
29  template <typename ExpSet1, typename ExpSet2>
30  bool
31  less_than_expression(const expression& lhs, const expression& rhs)
32  {
33  auto join_elts = join<ExpSet1, ExpSet2>(lhs, rhs);
34  return ::vcsn::less_than(std::get<0>(join_elts),
35  std::get<1>(join_elts),
36  std::get<2>(join_elts));
37  }
38  }
39  }
40 } // namespace vcsn
Definition: a-star.hh:8
auto rs
Definition: lift.hh:151
bool less_than_expression(const expression &lhs, const expression &rhs)
Bridge (less_than).
Definition: less-than.hh:31
bool less_than(const ExpSet &rs, const typename ExpSet::value_t &lhs, const typename ExpSet::value_t &rhs)
Whether lhs precedes rhs.
Definition: less-than.hh:17
std::shared_ptr< detail::expression_base > expression
Definition: expression.hh:92