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

Composite.h File Reference

Composite and Visitor design pattern templates. More...

#include <iostream>
#include <cstdio>
#include <vector>
#include <SimData/Ref.h>
#include <SimData/Log.h>

Go to the source code of this file.

Compounds

class  AcceptOp
 A function adapter for visiting child or parent nodes. More...

class  Composite
 A visitable node class that can have multiple children and parents. More...

class  CompositeBase
 Base interface for composite (visitable) nodes. More...

class  FindAllVisitor
 A visitor class for searching a node graph. More...

class  FindVisitor
 A visitor class for searching a node graph. More...

class  Visitable
 Base class for nodes that accept visitors. More...

class  Visitor
 A context specific visitor class. More...

class  VisitorBase
 Common base class for all Visitors. More...

class  VisitorCore
 Core visitor functionality. More...


Defines

#define SIMDATA_VISITOR(__visitor)
#define SIMDATA_VISITABLE(__visitor)

Variables

NAMESPACE_SIMDATA class Visitable
 Interface for nodes that can accept visitors.


Detailed Description

Composite and Visitor design pattern templates.


Define Documentation

#define SIMDATA_VISITABLE __visitor   
 

Value:

virtual SIMDATA(Ref)<__visitor> accept(SIMDATA(Ref)<__visitor> v) { \
                v->apply(*this); \
                return v; \
        }

#define SIMDATA_VISITOR __visitor   
 

Value:

typedef SIMDATA(Ref)<__visitor> Ref; \
        using SIMDATA(Visitor)<__visitor>::apply


Variable Documentation

NAMESPACE_SIMDATA class Visitable
 

Interface for nodes that can accept visitors.

V is a context specific visitor class.


SimData version pre-0.4.0. For more information on SimData, visit the SimData Homepage.

Generated on Tue Oct 14 12:06:39 2003, using Doxygen 1.2.18.

[SF.net]