Vcsn
2.0
Be Rational
|
Abstract wrapper around a (typeful) ratexpset. More...
#include <ratexpset.hh>
Public Types | |
using | value_t = rat::exp_t |
using | letter_class_t = std::set< std::pair< std::string, std::string >> |
Public Member Functions | |
virtual std::string | vname (bool full=true) const =0 |
A description of the ratexp type. More... | |
template<typename RatExpSet > | |
ratexpset_wrapper< RatExpSet > & | as () |
Extract wrapped typed ratexpset. More... | |
template<typename RatExpSet > | |
const ratexpset_wrapper < RatExpSet > & | as () const |
Extract wrapped typed ratexp. More... | |
virtual rat::identities | identities () const =0 |
virtual value_t | zero () const =0 |
virtual value_t | one () const =0 |
virtual value_t | atom (const std::string &w) const =0 |
virtual value_t | add (value_t l, value_t r) const =0 |
virtual value_t | mul (value_t l, value_t r) const =0 |
Explicit product. More... | |
virtual value_t | conjunction (value_t l, value_t r) const =0 |
virtual value_t | shuffle (value_t l, value_t r) const =0 |
virtual value_t | ldiv (value_t l, value_t r) const =0 |
virtual value_t | rdiv (value_t l, value_t r) const =0 |
virtual value_t | concat (value_t l, value_t r) const =0 |
Implicit product. More... | |
virtual value_t | star (value_t e) const =0 |
virtual value_t | complement (value_t e) const =0 |
Add a complement operator. More... | |
virtual value_t | transposition (value_t e) const =0 |
Add a transposition operator. More... | |
virtual value_t | lmul (const std::string &w, value_t e) const =0 |
Left-multiplication by a weight. More... | |
virtual value_t | rmul (value_t e, const std::string &w) const =0 |
Right-multiplication by a weight. More... | |
virtual value_t | letter_class (const letter_class_t &chars, bool accept=true) const =0 |
A ratexp matching one character amongst chars. More... | |
virtual dyn::ratexp | make_ratexp (const value_t &v) const =0 |
virtual value_t | conv (std::istream &s) const =0 |
Parsing. More... | |
virtual std::ostream & | print (const value_t v, std::ostream &o) const =0 |
Abstract wrapper around a (typeful) ratexpset.
Use it when you want to avoid depending on the ratexpset parameters (e.g., from a parser). To use it, actually create a derived class (ratexpset_wrapper) with the given parameters, but handle as a reference to a ratexpset_base.
Definition at line 25 of file ratexpset.hh.
using vcsn::dyn::detail::ratexpset_base::letter_class_t = std::set<std::pair<std::string, std::string>> |
Definition at line 78 of file ratexpset.hh.
Definition at line 28 of file ratexpset.hh.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
inline |
Extract wrapped typed ratexpset.
Definition at line 37 of file ratexpset.hh.
|
inline |
Extract wrapped typed ratexp.
Definition at line 44 of file ratexpset.hh.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
Add a complement operator.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implicit product.
If both l and r are weightless words, produce a new word that concatenates them. Otherwise, use mul.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Parsing.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
A ratexp matching one character amongst chars.
chars | The letter class as a set of ranges. |
accept | Whether to accept these characters ([abc]) as opposed to refusing them ([^abc]). |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Left-multiplication by a weight.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
Explicit product.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Right-multiplication by a weight.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
Add a transposition operator.
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
A description of the ratexp type.
full | whether to include the genset. if false, same as sname. |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.
|
pure virtual |
Implemented in vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >.