Inheritance diagram for SemigroupBase:
Public Types | |
typedef Self | self_t |
Exact type of the most derived type in the hierarchy. | |
Public Member Functions | |
bool | contains (const Element< Self, 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< Self, T > | choose (SELECTOR(T)) const |
Choose randomly an element in the structure. | |
self_t & | self () |
Accessor to the real type. | |
Protected Member Functions | |
SemigroupBase () | |
Default constructor is protected since it is an abstract class. | |
SemigroupBase (const SemigroupBase &other) | |
Copy constructor is protected since it is an abstract class. |
All derived classes must define type virtual_types<S>::semigroup_kind.
Definition at line 45 of file semigroup_base.hh.
|
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. Referenced by vcsn::op_contains(), vcsn::op_convert(), vcsn::op_in_mirror(), vcsn::op_letter_delta(), vcsn::op_letter_deltac(), vcsn::op_letter_rdelta(), vcsn::op_rdelta(), vcsn::op_rout(), vcsn::op_spontaneous_delta(), and vcsn::op_spontaneous_rdelta(). |