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

Base class for SetSlot. More...

Inheritance diagram for SetSlotAttribute:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 SetSlotAttribute ()
 Trivial constructor.
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.
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, bool dynamic>
struct vcsn::SetSlotAttribute< S, dynamic >

Base class for SetSlot.

This class is responsible for holding a reference to the structural element in each Element instance, by means of its set_ attribute.

This version (parameter dynamic is false) is used when the structural element is static, i.e. does not require a S.E. instance reference in all related Element instance objects: all its properties are carried by its type.

Because this version has actually no attribute, it should take no memory space in each SetSlot (then Element) instance to which it is linked.

See also:

Definition at line 60 of file slots.hh.


Member Function Documentation

const S & _structure_get (  )  const [inline]

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

Definition at line 44 of file slots.hxx.

bool _structure_bound (  )  const [inline]

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

This version always returns true.

Definition at line 58 of file slots.hxx.


Generated on Thu Sep 17 22:01:58 2009 for Vaucanson by  doxygen 1.5.6