Vcsn  2.4
Be Rational
partial-identity-expression.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vcsn/algos/tuple.hh>
5 #include <vcsn/dyn/value.hh>
6 
7 namespace vcsn
8 {
9 
10  /*--------------------------------.
11  | partial_identity(expression). |
12  `--------------------------------*/
13 
14  namespace dyn
15  {
16  namespace detail
17  {
19  template <typename ExpressionSet>
22  {
23  const auto& e = exp->as<ExpressionSet>();
24  auto rs = tuple_expressionset(e.valueset(), e.valueset());
25  return {rs, partial_identity(e.valueset(), rs, e.value())};
26  }
27  }
28  }
29 }
auto rs
Definition: lift.hh:152
automaton partial_identity(const automaton &aut)
Bridge.
Definition: a-star.hh:8
auto tuple_expressionset(const ExpSets &...rss) -> expressionset< decltype(tuple_context(rss.context()...))>
Definition: tuple.hh:85
value_impl< detail::expression_tag > expression
Definition: fwd.hh:25
expression partial_identity_expression(const expression &exp)
Bridge (partial_identity).