Public Types | |
typedef S | self_t |
Exact type of the most derived type in the hierarchy. | |
Public Member Functions | |
template<typename T> | |
bool | contains (const Element< S, T > &elt) const |
Check if a given element is compatible with the structural element. | |
template<typename OtherS, typename T> | |
bool | contains (const Element< OtherS, T > &other) const |
Specialization of contains that always returns false. | |
template<typename T> | |
bool | contains (const T &elt_value) const |
Check if an anonymous value is compatible with a structural element. | |
template<class T> | |
Element< S, T > | choose (SELECTOR(T)) const |
Choose randomly an element in the structure. | |
self_t & | self () |
Accessor to the real type. | |
const self_t & | self () const |
Accessor to the real type. | |
Protected Member Functions | |
Protected constructor for class abstraction. | |
Structure () | |
Structure (const Structure &other) |
It provides:
contains()
method),choose()
method to pick randomly Element
instances. Definition at line 49 of file structure.hh.
Structure | ( | ) | [inline, protected] |
Definition at line 88 of file structure.hxx.
Definition at line 93 of file structure.hxx.
bool contains | ( | const Element< OtherS, T > & | other | ) | const [inline] |
Specialization of contains
that always returns false.
Indeed, elements structured by a particular type are always incompatible with structural elements of another type.
Definition at line 47 of file structure.hxx.
S & self | ( | ) | [inline] |
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.
Definition at line 70 of file structure.hxx.
Referenced by vcsn::op_assign(), vcsn::algebra::op_rout(), and vcsn::operator!=().
const S & self | ( | ) | const [inline] |
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.
Definition at line 77 of file structure.hxx.