Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

SemigroupBase Struct Template Reference
[Semigroup]

SemigroupBase is the base class of all structures that are semigroups. More...

Inheritance diagram for SemigroupBase:

Inheritance graph
[legend]
List of all members.

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_tself ()
 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.


Detailed Description

template<class Self>
struct vcsn::algebra::SemigroupBase< Self >

SemigroupBase is the base class of all structures that are semigroups.

All derived classes must define type virtual_types<S>::semigroup_kind.


Member Function Documentation

bool contains const Element< OtherS, T > &  other  )  const [inherited]
 

Specialization of containts that always return false.

Indeed, elements structured by a particular type are always incompatible with structural elements of another type.

self_t& self  )  [inherited]
 

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.


Generated on Fri Jul 11 19:43:42 2003 for Vaucanson by doxygen 1.3.2