XdmfObject.hpp 520 Bytes
Newer Older
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
1 2 3
#ifndef XDMFOBJECT_HPP_
#define XDMFOBJECT_HPP_

4
// Includes
5 6
#include <boost/shared_ptr.hpp>

Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
7 8 9 10 11 12 13 14
#define XdmfNewMacro(type) \
template <typename T> friend void boost::checked_delete(T * x); \
static boost::shared_ptr<type> New() \
{ \
	boost::shared_ptr<type> p(new type()); \
	return p; \
}

15 16 17 18 19
/**
 * @brief Root Xdmf Class.
 *
 * XdmfObject is the root Xdmf class which all Xdmf classes are derived from.
 */
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
20 21 22 23 24 25 26 27 28 29 30 31
class XdmfObject {

public:

protected:

	XdmfObject();
	virtual ~XdmfObject();

};

#endif /* XDMFOBJECT_HPP_ */