Vaucanson  1.4.1
Modules | Files | Classes | Functions
Fundamental C++: the Element design pattern.

Core constructs for Vaucanson. More...

Collaboration diagram for Fundamental C++: the Element design pattern.:

Modules

 Operators

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.

Classes

class  Element< S, T >
 Glue class between structural elements and implementation values. More...
struct  op_add_traits< S1, S2, T1, T2 >
 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  SetSlotAttribute< S, dynamic >
 Base class for SetSlot. More...
struct  SetSlotAttribute< S, true >
 Base class for SetSlot, specializing SetSlotAttribute. More...
struct  SetSlot< S, Tag >
 Type of the set_ attribute of the Element class. More...
struct  Structure< S >
 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< S, T >
 Provides the standard operator delegations to Element. More...
class  MetaElement
 Parent class of Element. More...

Functions

 SetSlotAttribute ()
 Trivial constructor.

Detailed Description

Core constructs for Vaucanson.

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.

See also:
http://publications.lrde.epita.fr/200307-Poosc