Vcsn
2.3
Be Rational
|
#include <automatonset.hh>
Public Types | |
using | context_t = Context |
using | tag_t = Tag |
using | value_t = mutable_automaton< context_t > |
using | labelset_t = labelset_t_of< context_t > |
using | weightset_t = weightset_t_of< context_t > |
using | kind_t = typename context_t::kind_t |
using | state_t = unsigned |
Lightweight state handle (or index). More... | |
using | transition_t = unsigned |
Lightweight transition handle (or index). More... | |
using | label_t = typename labelset_t::value_t |
Transition label. More... | |
using | weight_t = typename weightset_t::value_t |
Transition weight. More... | |
Public Member Functions | |
automatonset (const context_t &c) | |
auto | print_set (std::ostream &o, format fmt={}) const -> std::ostream & |
Format the description of this automatonset. More... | |
auto | zero () const -> value_t |
auto | one () const -> value_t |
auto | atom (const label_t &l) const -> value_t |
template<typename Ctx = context_t> | |
auto | compose (const value_t &l, const value_t &r) const -> std::enable_if_t< are_composable< Ctx, Ctx > |
Build a composition: l @ r . More... | |
auto | conjunction (const value_t &l, const value_t &r) const -> value_t |
Build an conjunction product: l & r . More... | |
auto | infiltrate (const value_t &l, const value_t &r) const -> value_t |
Build an infiltration product: l &: r . More... | |
auto | shuffle (const value_t &l, const value_t &r) const -> value_t |
Build a shuffle product: l : r . More... | |
template<typename... Value> | |
auto | tuple (Value &&...v) const -> value_t |
Build a tuple: e | f | ... . More... | |
auto | power (const value_t &e, unsigned n) const -> value_t |
Add a power operator: e{n} . More... | |
auto | ldivide (const value_t &l, const value_t &r) const -> value_t |
r`. More... | |
auto | rdivide (const value_t &l, const value_t &r) const -> value_t |
Build a right division: l {/} r . More... | |
auto | star (const value_t &e) const -> value_t |
Add a star operator: e* . More... | |
auto | complement (const value_t &e, std::true_type) const -> value_t |
Add a complement operator: e{c} . More... | |
auto | complement (const value_t &, std::false_type) const -> value_t |
Add a complement operator: e{c} . More... | |
auto | complement (const value_t &e) const -> value_t |
Add a complement operator: e{c} . More... | |
auto | transposition (const value_t &e) const -> value_t |
Add a transposition operator. More... | |
auto | rweight (const value_t &e, const weight_t &w) const -> value_t |
Right-multiplication by a weight. More... | |
auto | lweight (const weight_t &w, const value_t &e) const -> value_t |
Left-multiplication by a weight. More... | |
Static Public Member Functions | |
static symbol | sname () |
static auto | add (const value_t &l, const value_t &r) -> value_t |
static auto | mul (const value_t &l, const value_t &r) -> value_t |
Public Attributes | |
value_t | |
Protected Attributes | |
context_t | ctx_ |
Definition at line 19 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::context_t = Context |
Definition at line 22 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::kind_t = typename context_t::kind_t |
Definition at line 27 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::label_t = typename labelset_t::value_t |
Transition label.
Definition at line 34 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::labelset_t = labelset_t_of<context_t> |
Definition at line 25 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::state_t = unsigned |
Lightweight state handle (or index).
Definition at line 30 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::tag_t = Tag |
Definition at line 23 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::transition_t = unsigned |
Lightweight transition handle (or index).
Definition at line 32 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::value_t = mutable_automaton<context_t> |
Definition at line 24 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::weight_t = typename weightset_t::value_t |
Transition weight.
Definition at line 36 of file automatonset.hh.
using vcsn::automatonset< Context, Tag >::weightset_t = weightset_t_of<context_t> |
Definition at line 26 of file automatonset.hh.
|
inline |
Definition at line 45 of file automatonset.hh.
|
inlinestatic |
Definition at line 106 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Definition at line 95 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Add a complement operator: e{c}
.
Definition at line 197 of file automatonset.hh.
Referenced by vcsn::automatonset< context_t_of< automaton_t >, tag_t >::complement(), and vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Add a complement operator: e{c}
.
Definition at line 217 of file automatonset.hh.
|
inline |
Add a complement operator: e{c}
.
Definition at line 223 of file automatonset.hh.
|
inline |
Build a composition: l @ r
.
Definition at line 118 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Build an conjunction product: l & r
.
Definition at line 125 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Build an infiltration product: l &: r
.
Definition at line 134 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
r`.
Definition at line 159 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Left-multiplication by a weight.
Definition at line 241 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inlinestatic |
Definition at line 111 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Definition at line 86 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Add a power operator: e{n}
.
Definition at line 153 of file automatonset.hh.
|
inline |
Format the description of this automatonset.
Definition at line 50 of file automatonset.hh.
|
inline |
Build a right division: l {/} r
.
Definition at line 175 of file automatonset.hh.
|
inline |
Right-multiplication by a weight.
Definition at line 235 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Build a shuffle product: l : r
.
Definition at line 140 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inlinestatic |
Definition at line 38 of file automatonset.hh.
|
inline |
Add a star operator: e*
.
Definition at line 191 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Add a transposition operator.
Definition at line 229 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
inline |
Build a tuple: e | f | ...
.
Definition at line 147 of file automatonset.hh.
Referenced by vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::visit_tuple< bool, Dummy >::tape_().
|
inline |
Definition at line 78 of file automatonset.hh.
Referenced by vcsn::automatonset< context_t_of< automaton_t >, tag_t >::complement(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::conjunction(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::ldivide(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::rdivide(), and vcsn::rat::inductive_visitor< Aut, ExpSet, Tag >::VCSN_RAT_VISIT().
|
protected |
Definition at line 247 of file automatonset.hh.
Referenced by vcsn::automatonset< context_t_of< automaton_t >, tag_t >::atom(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::complement(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::ldivide(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::one(), vcsn::automatonset< context_t_of< automaton_t >, tag_t >::rdivide(), and vcsn::automatonset< context_t_of< automaton_t >, tag_t >::zero().
vcsn::automatonset< Context, Tag >::value_t |
Definition at line 120 of file automatonset.hh.