XdmfVisitor.hpp 844 Bytes
Newer Older
1 2 3 4
#ifndef XDMFVISITOR_HPP_
#define XDMFVISITOR_HPP_

// Forward Declarations
5
class XdmfItem;
6 7

// Includes
8
#include <loki/Visitor.h>
9 10
#include "XdmfObject.hpp"

11
/**
12
 * @brief Perform an operation on an Xdmf graph structure.
13
 *
14 15
 * XdmfVisitor is an abstract base class for any operation that operates on an Xdmf graph structure.  These operations could
 * involve writing to disk or modifying the structure in some way.
16
 */
17 18 19
class XdmfVisitor : public XdmfObject,
	public Loki::BaseVisitor,
	public Loki::Visitor<XdmfItem> {
20 21 22

public:

23
	virtual void visit(XdmfItem & item, boost::shared_ptr<Loki::BaseVisitor> visitor);
24

25 26 27 28 29 30 31
protected:

	XdmfVisitor();
	virtual ~XdmfVisitor();

private:

32 33
	XdmfVisitor(const XdmfVisitor & visitor);  // Not implemented.
	void operator=(const XdmfVisitor & visitor);  // Not implemented.
34

35 36 37
};

#endif /* XDMFVISITOR_HPP_ */