Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

visitor

visitor

A set of template classes for easy implementation of the visitor pattern. More...

Data Structures

class  visitable< T1, T2, T3, T4 >
 The visitable base class for four visitor types. More...
class  visitable< T1, T2, T3 >
 The visitable base class for three visitor types. More...
class  visitable< T1, T2 >
 The visitable base class for two visitor types. More...
class  visitable< T1 >
 The visitable base class for one visitor type. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
 The visitor base class for sixteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >
 The visitor base class for fifteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 >
 The visitor base class for fourteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 >
 The visitor base class for thirteen types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 >
 The visitor base class for twelve types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >
 The visitor base class for eleven types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >
 The visitor base class for ten types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8, T9 >
 The visitor base class for nine types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7, T8 >
 The visitor base class for eight types. More...
class  visitor< T1, T2, T3, T4, T5, T6, T7 >
 The visitor base class for seven types. More...
class  visitor< T1, T2, T3, T4, T5, T6 >
 The visitor base class for six types. More...
class  visitor< T1, T2, T3, T4, T5 >
 The visitor base class for five types. More...
class  visitor< T1, T2, T3, T4 >
 The visitor base class for four types. More...
class  visitor< T1, T2, T3 >
 The visitor base class for three types. More...
class  visitor< T1, T2 >
 The visitor base class for two types. More...
class  visitor< T1 >
 The visitor base class for one type. More...

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.