- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

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

Base class for `SetSlot`. More...

Inheritance diagram for SetSlotAttribute:

[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:
  - SetSlotAttribute<S,true>
  - `SetSlot`
  - `Element`

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.