Collaboration diagram for Fundamental C++: the Element design pattern.:
 
 | 
Files | |
| file | element.hh | 
Declaration of Element.  | |
| file | meta_element_root.hh | 
Definition of the specialization of MetaElement for the root Structure.  | |
| file | predecls.hh | 
| Forward declarations of the design pattern template classes of Vaucanson.  | |
| file | slots.hh | 
Declaration of set attribute slot for Element.  | |
| file | structure.hh | 
Definition of class Structure, the root of all structural element types.  | |
| file | syntactic_decorator.hh | 
Declaration of the very base class of Element.  | |
Modules | |
| Operators | |
Classes | |
| class | Element | 
| Glue class between structural elements and implementation values.  More... | |
| struct | MetaElement< Structure< S >, T > | 
| The base class that glues structural elements to implementation values.  More... | |
| struct | SetSlotAttribute | 
Base class for SetSlot.  More... | |
| struct | SetSlotAttribute< S, true > | 
Base class for SetSlot, specializing SetSlotAttribute.  More... | |
| struct | SetSlot | 
Type of the set_ attribute of the Element class.  More... | |
| struct | Structure | 
| Base class for the hierarchy of structural element types.  More... | |
| struct | dynamic_traits< Structure< S > > | 
Specialization of dynamic_traits for Structure.  More... | |
| struct | virtual_types< Structure< S > > | 
Specialization of virtual_types for Structure.  More... | |
| struct | SyntacticDecorator | 
| This class provides the standard operator delegations to Element.  More... | |
| class | MetaElement | 
| Parent class of Element.  More... | |
This module contains definitions for the design pattern used in Vaucanson, so called "Element". This design pattern is more deeply described in the paper by Yann Régis-Gianas and Raphaël Poss: On orthogonal specialization in C++: Dealing with efficiency and algebraic abstraction in Vaucanson. In the proceedings of the Parallel/High-performance Object-Oriented Scientific Computing (POOSC'2003) Darmstadt, Germany July 2003.
 1.4.1