Vcsn
2.2
Be Rational
|
#include <expand.hh>
Public Types | |
using | expressionset_t = ExpSet |
using | expression_t = typename expressionset_t::value_t |
using | context_t = context_t_of< expressionset_t > |
using | weightset_t = weightset_t_of< expressionset_t > |
using | weight_t = typename weightset_t::value_t |
using | polynomialset_t = expression_polynomialset_t< expressionset_t > |
using | polynomial_t = typename polynomialset_t::value_t |
using | super_t = typename ExpSet::const_visitor |
Public Member Functions | |
expand_visitor (const expressionset_t &rs) | |
expression_t | operator() (const expression_t &v) |
Static Public Member Functions | |
static constexpr const char * | me () |
Private Types | |
using | tuple_t = typename super_t::tuple_t |
Private Member Functions | |
polynomial_t | expand (const expression_t &e) |
Syntactic sugar: recursive call to this visitor. More... | |
VCSN_RAT_VISIT (zero,) | |
VCSN_RAT_VISIT (one,) | |
VCSN_RAT_VISIT (atom, v) | |
VCSN_RAT_VISIT (sum, v) | |
VCSN_RAT_VISIT (conjunction, v) | |
virtual void | visit (const tuple_t &, std::true_type) override |
VCSN_RAT_VISIT (prod, v) | |
VCSN_RAT_VISIT (star, v) | |
VCSN_RAT_VISIT (lweight, v) | |
VCSN_RAT_VISIT (rweight, v) | |
Private Attributes | |
expressionset_t | rs_ |
weightset_t | ws_ = *rs_.weightset() |
Shorthand to the weightset. More... | |
polynomialset_t | ps_ = make_expression_polynomialset(rs_) |
Polynomialset of expressions. More... | |
polynomial_t | res_ |
The result. More... | |
ExpSet | relative to the expression. |
using vcsn::rat::expand_visitor< ExpSet >::context_t = context_t_of<expressionset_t> |
using vcsn::rat::expand_visitor< ExpSet >::expression_t = typename expressionset_t::value_t |
using vcsn::rat::expand_visitor< ExpSet >::expressionset_t = ExpSet |
using vcsn::rat::expand_visitor< ExpSet >::polynomial_t = typename polynomialset_t::value_t |
using vcsn::rat::expand_visitor< ExpSet >::polynomialset_t = expression_polynomialset_t<expressionset_t> |
using vcsn::rat::expand_visitor< ExpSet >::super_t = typename ExpSet::const_visitor |
|
private |
using vcsn::rat::expand_visitor< ExpSet >::weight_t = typename weightset_t::value_t |
using vcsn::rat::expand_visitor< ExpSet >::weightset_t = weightset_t_of<expressionset_t> |
|
inline |
|
inlineprivate |
Syntactic sugar: recursive call to this visitor.
Definition at line 51 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::res_.
Referenced by vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT().
|
inlinestatic |
Definition at line 36 of file expand.hh.
Referenced by vcsn::rat::expand_visitor< ExpSet >::visit().
|
inline |
Definition at line 43 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::ps_, and vcsn::rat::expand_visitor< ExpSet >::res_.
|
inlineprivate |
Definition at line 57 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::ps_, and vcsn::rat::expand_visitor< ExpSet >::res_.
|
inlineprivate |
Definition at line 62 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::res_, vcsn::rat::expand_visitor< ExpSet >::rs_, and vcsn::rat::expand_visitor< ExpSet >::ws_.
|
inlineprivate |
Definition at line 67 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::res_, vcsn::rat::expand_visitor< ExpSet >::rs_, vcsn::detail::v, and vcsn::rat::expand_visitor< ExpSet >::ws_.
|
inlineprivate |
Definition at line 72 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::expand(), vcsn::rat::expand_visitor< ExpSet >::ps_, vcsn::rat::expand_visitor< ExpSet >::res_, and vcsn::detail::v.
|
inlineprivate |
Definition at line 80 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::expand(), vcsn::label_of(), vcsn::rat::expand_visitor< ExpSet >::ps_, vcsn::rat::expand_visitor< ExpSet >::res_, vcsn::rat::expand_visitor< ExpSet >::rs_, vcsn::rat::sum, vcsn::detail::v, vcsn::weight_of(), and vcsn::rat::expand_visitor< ExpSet >::ws_.
|
inlineprivate |
Definition at line 108 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::expand(), vcsn::weightset_mixin< WeightSet >::mul(), vcsn::rat::expand_visitor< ExpSet >::ps_, vcsn::rat::expand_visitor< ExpSet >::res_, and vcsn::detail::v.
|
inlineprivate |
Definition at line 116 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::ps_, vcsn::rat::expand_visitor< ExpSet >::res_, vcsn::rat::expand_visitor< ExpSet >::rs_, vcsn::detail::v, and vcsn::rat::expand_visitor< ExpSet >::ws_.
|
inlineprivate |
Definition at line 123 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::ps_, vcsn::rat::expand_visitor< ExpSet >::res_, and vcsn::detail::v.
|
inlineprivate |
Definition at line 129 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::ps_, vcsn::rat::expand_visitor< ExpSet >::res_, and vcsn::detail::v.
|
inlineoverrideprivatevirtual |
Definition at line 103 of file expand.hh.
References vcsn::rat::expand_visitor< ExpSet >::me().
|
private |
Polynomialset of expressions.
Definition at line 140 of file expand.hh.
Referenced by vcsn::rat::expand_visitor< ExpSet >::operator()(), and vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT().
|
private |
The result.
Definition at line 142 of file expand.hh.
Referenced by vcsn::rat::expand_visitor< ExpSet >::expand(), vcsn::rat::expand_visitor< ExpSet >::operator()(), and vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT().
|
private |
Definition at line 136 of file expand.hh.
Referenced by vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT().
|
private |
Shorthand to the weightset.
Definition at line 138 of file expand.hh.
Referenced by vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT().