Vcsn  2.8
Be Rational
determinize-expansion.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vcsn/dyn/algos.hh>
4 #include <vcsn/dyn/value.hh>
5 
6 namespace vcsn
7 {
9  template <typename ExpansionSet>
10  typename ExpansionSet::value_t
11  determinize(const ExpansionSet& xs, const typename ExpansionSet::value_t& x)
12  {
13  return xs.denormalize(x);
14  }
15 
16  namespace dyn
17  {
18  namespace detail
19  {
21  template <typename ExpansionSet>
22  expansion
24  {
25  const auto& x = xpn->as<ExpansionSet>();
26  return {x.valueset(), determinize(x.valueset(), x.value())};
27  }
28  }
29  }
30 } // vcsn::
value_impl< detail::expansion_tag > expansion
Definition: fwd.hh:30
expansion determinize_expansion(const expansion &xpn)
Bridge (determinize).
auto & as()
Extract wrapped typed value.
Definition: value.hh:55
ExpansionSet::value_t determinize(const ExpansionSet &xs, const typename ExpansionSet::value_t &x)
Determinize an expansion.
A dyn Value/ValueSet.
Definition: fwd.hh:29
Definition: a-star.hh:8
automaton determinize(const automaton &aut, const std::string &algo)
Bridge.
Definition: determinize.hh:357