36#ifndef CELLPROPERTYREGISTRY_HPP_
37#define CELLPROPERTYREGISTRY_HPP_
39#include <boost/shared_ptr.hpp>
42#include "AbstractCellProperty.hpp"
45#include <boost/serialization/shared_ptr.hpp>
46#include <boost/serialization/vector.hpp>
61 template<
class SUBCLASS>
62 boost::shared_ptr<AbstractCellProperty>
Get();
144 template<
class Archive>
152template<
class SUBCLASS>
155 boost::shared_ptr<AbstractCellProperty>
p_property;
static CellPropertyRegistry * Instance()
bool HasOrderingBeenSpecified()
std::vector< boost::shared_ptr< AbstractCellProperty > > mCellProperties
CellPropertyRegistry & operator=(const CellPropertyRegistry &)
void serialize(Archive &archive, const unsigned int version)
void SpecifyOrdering(const std::vector< boost::shared_ptr< AbstractCellProperty > > &rOrdering)
static CellPropertyRegistry * mpInstance
boost::shared_ptr< AbstractCellProperty > Get()
bool mOrderingHasBeenSpecified
friend class boost::serialization::access
const std::vector< boost::shared_ptr< AbstractCellProperty > > & rGetAllCellProperties()
CellPropertyRegistry(const CellPropertyRegistry &)
CellPropertyRegistry * TakeOwnership()