Vaucanson 1.4
Public Types | Public Member Functions | Protected Member Functions
SemigroupBase< Self > Struct Template Reference

Base class of all structures that are semigroups. More...

Inheritance diagram for SemigroupBase< Self >:
Inheritance graph
[legend]

List of all members.

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_tself ()
 Accessor to the real type.
const self_tself () const
 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 >

Base class of all structures that are semigroups.

Definition at line 43 of file semigroup_base.hh.


Member Function Documentation

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

Specialization of contains that always returns 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.

To be used by implementations in this class and derived structures to obtain a reference to the structural element with its most derived type.

const self_t& self ( ) const [inherited]

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.