Fundamental C++: the Element design pattern.

Collaboration diagram for Fundamental C++: the Element design pattern.:
Core constructs for Vaucanson. More...


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

 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

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