SetSlot Struct Template Reference
[Fundamental C++: the Element design pattern.]

Type of the set_ attribute of the Element class. More...

Inheritance diagram for SetSlot:

Inheritance graph
[legend]

List of all members.

Public Member Functions

const S & _structure_get () const
 Access to the instance of the structural element.
bool _structure_bound () const
 Whether the current set slot is linked to a structural element.
 SetSlot ()
 Trivial constructor.
 SetSlot (const SetSlot &other)
 Trivial constructor.
 SetSlot (const S &other)
 Trivial constructor.
Methods to link the Slot
Because this version of the class pertains to static S.E.

's, those methods actually do nothing and calls to it should be optimized away.

void _structure_assign (const SetSlotAttribute &other)
 Link a SetSlot to another.
void _structure_attach (const S &other)
 Link a SetSlot to a structural element.


Detailed Description

template<typename S, typename Tag>
struct vcsn::SetSlot< S, Tag >

Type of the set_ attribute of the Element class.

Derives from SetSlotAttribute, a reference to a structural element to which an Element is related.

The actual implementation of SetSlot<S>, for a given structural element S, depends on the value of dynamic_traits<S>ret, which chooses which version of SetSlotAttribute to inherit from.

Additionally, the class can be meta-tagged when multiple inheritance for the same structural element S is needed. This meta-tag (second template argument) makes the type unique w.r.t. the tag type.

See also:

Definition at line 192 of file slots.hh.


Constructor & Destructor Documentation

SetSlot (  )  [inline]

Trivial constructor.

Calls the inherited constructor from SetSlotAttribute.

Definition at line 113 of file slots.hxx.

SetSlot ( const SetSlot< S, Tag > &  other  )  [inline]

Trivial constructor.

Calls the inherited constructor from SetSlotAttribute.

Definition at line 118 of file slots.hxx.

SetSlot ( const S &  other  )  [inline]

Trivial constructor.

Calls the inherited constructor from SetSlotAttribute.

Definition at line 123 of file slots.hxx.


Member Function Documentation

const S & _structure_get (  )  const [inherited]

Access to the instance of the structural element.

Because this version of the class pertains to static S.E.'s, this accessor returns a NULL reference, most likely inappropriate for any other form of dereferencing other than accessing methods of the S.E. (which do not use the reference anyway).

Referenced by Series::monoid(), Series::semiring(), and Element::structure().

bool _structure_bound (  )  const [inherited]

Whether the current set slot is linked to a structural element.

This version always returns true.


Generated on Thu Jan 22 17:37:11 2009 for Vaucanson by  doxygen 1.5.6