Embedded Template Library  1.0
 All Classes Files Functions Variables Typedefs Friends Modules Pages

Classes

class  etl::visitable< T1, T2, T3, T4 >
 
class  etl::visitable< T1, T2, T3 >
 
class  etl::visitable< T1, T2 >
 
class  etl::visitable< T1 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7, T8 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6, T7 >
 
class  etl::visitor< T1, T2, T3, T4, T5, T6 >
 
class  etl::visitor< T1, T2, T3, T4, T5 >
 
class  etl::visitor< T1, T2, T3, T4 >
 
class  etl::visitor< T1, T2, T3 >
 
class  etl::visitor< T1, T2 >
 
class  etl::visitor< T1 >
 

Detailed Description

A set of template classes for easy implementation of the visitor pattern.
The visitor design pattern is a way of separating an algorithm from an object structure on which it operates. A practical result of this separation is the ability to add new operations to existing object structures without modifying those structures. It is one way to easily follow the open/closed principle. In essence, the visitor allows one to add new virtual functions to a family of classes without modifying the classes themselves; instead, one creates a visitor class that implements all of the appropriate specialisations of the virtual function. The visitor takes the instance as input, and implements the goal through double dispatch.