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