Collaboration diagram for Fundamental C++: the Element design pattern.:
Files | |
file | default_ops.hh |
Default implementations for standard Element operations. | |
file | element.hh |
Declaration of Element . | |
file | element_op_traits.hh |
Declaration of default arithmetical operator traits for Element . | |
file | element_ops.hh |
Declarations of standard external operator delegations for 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 | op_add_traits |
The type of the result of addition between two Element instances. More... | |
struct | MetaElement< Structure< S >, T > |
The base class that glues structural elements to implementation values. More... | |
struct | default_slot_tag |
struct | undefined_type |
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 |
Provides the standard operator delegations to Element. More... | |
class | MetaElement |
Parent class of Element. More... | |
Functions | |
vcsn::SetSlotAttribute::SetSlotAttribute () | |
Trivial constructor. | |
vcsn::SetSlotAttribute::SetSlotAttribute (const SetSlotAttribute &other) | |
vcsn::SetSlotAttribute::SetSlotAttribute (const S &other) |
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.