Inheritance diagram for SemigroupBase:

Public Types | |
| typedef Self | self_t | 
| Exact type of the most derivated 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 containts that always return 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.
      
  | 
  
| 
 
Specialization of  Indeed, elements structured by a particular type are always incompatible with structural elements of another type.  | 
  
      
  | 
  
| 
 Accessor to the real type. This accessor is intended to be used by implementations in this class and derivated structures to obtain a reference to the structural element with its most derivated type.  | 
  
 
1.3.4