Inheritance diagram for Series:
Public Types | |
typedef virtual_types< Series< Semiring, Monoid > >::monoid_t | monoid_t |
The type of the free monoid A*. | |
typedef virtual_types< Series< Semiring, Monoid > >::semiring_t | semiring_t |
The type of the semiring K. | |
typedef Series< Semiring, Monoid > | self_t |
Exact type of the most derived type in the hierarchy. | |
Public Member Functions | |
Series (const Semiring &w, const Monoid &m) | |
Series (const Series &other) | |
const Semiring & | semiring () const |
Accessor to the semiring (const version). | |
const Monoid & | monoid () const |
Accessor to the monoid (const version). | |
monoid_t & | monoid () |
Accessor to the monoid. | |
semiring_t & | semiring () |
Accessor to the semiring. | |
bool | can_choose_non_starable (SELECTOR(T)) const |
Whether it is possible to call choose_non_starable. | |
Element< Series< Semiring, Monoid >, T > | choose_starable (SELECTOR(T)) const |
A randomly chosen starable semiring element. | |
Element< Series< Semiring, Monoid >, T > | choose_non_starable (SELECTOR(T)) const |
A randomly chosen non-starable semiring element. | |
Element< Series< Semiring, Monoid >, T > | identity (SELECTOR(T)) const |
Returns the identity of the monoid (if mul_kind). | |
Element< Series< Semiring, Monoid >, T > | zero (SELECTOR(T)) const |
Returns the zero of the monoid (if add_kind). | |
bool | contains (const Element< Series< Semiring, Monoid >, T > &elt) const |
Check if a given element is compatible with the structural element. | |
bool | contains (const Element< OtherS, T > &other) const |
Specialization of contains that always returns false. | |
bool | contains (const T &elt_value) const |
Check if an anonymous value is compatible with a structural element. | |
Element< Series< Semiring, Monoid >, T > | choose (SELECTOR(T)) const |
Choose randomly an element in the structure. | |
self_t & | self () |
Accessor to the real type. |
Definition at line 37 of file series.hh.
|
Whether it is possible to call choose_non_starable. There's no need for can_choose_starable, since Zero is always starable and therefor can be choosen. |
|
Specialization of Indeed, elements structured by a particular type are always incompatible with structural elements of another type. |
|
Accessor to the real type. To be used by implementations in this class and derived structures to obtain a reference to the structural element with its most derived type. |