Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Fundamental C++: the Element design pattern.

Core constructs for Vaucanson. More...


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

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


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://www.lrde.epita.fr/cgi-bin/twiki/view/Publications/200307-Poosc

Generated on Mon Mar 29 15:42:43 2004 for Vaucanson by doxygen 1.3.6-20040222