Public Types | Public Member Functions

Structure< S > Struct Template Reference
[Fundamental C++: the Element design pattern.]

Base class for the hierarchy of structural element types. More...

Inheritance diagram for Structure< S >:
Inheritance graph
[legend]

List of all members.

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

Protected Member Functions

Protected constructor for class abstraction.

 Structure ()
 Structure (const Structure &other)

Detailed Description

template<typename S>
struct vcsn::Structure< S >

Base class for the hierarchy of structural element types.

It provides:

Definition at line 49 of file structure.hh.


Constructor & Destructor Documentation

Structure (  )  [protected]

Definition at line 88 of file structure.hxx.

Structure ( const Structure< S > &  other  )  [protected]

Definition at line 93 of file structure.hxx.


Member Function Documentation

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

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

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

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.