39 #ifndef OME_XML_MODEL_OMEMODEL_H 40 #define OME_XML_MODEL_OMEMODEL_H 47 #include <ome/xml/model/OMEModelObject.h> 88 operator= (
const OMEModel&) =
delete;
105 std::shared_ptr<OMEModelObject>
107 std::shared_ptr<OMEModelObject>&
object) = 0;
118 std::shared_ptr<OMEModelObject>
132 std::shared_ptr<OMEModelObject>
141 const object_map_type&
162 std::shared_ptr<Reference>& b) = 0;
170 const reference_map_type&
193 #endif // OME_XML_MODEL_OMEMODEL_H virtual SKIP std::shared_ptr< OMEModelObject > addModelObject(const std::string &id, std::shared_ptr< OMEModelObject > &object)=0
Add a model object to the model.
OME model interface (abstract top-level container)
Definition: OMEModel.h:61
OMEModel()
Constructor.
Definition: OMEModel.h:75
std::vector< std::shared_ptr< Reference > > reference_list_type
A list of Reference objects.
Definition: OMEModel.h:65
virtual std::shared_ptr< OMEModelObject > removeModelObject(const std::string &id)=0
Remove a model object from the model.
virtual std::shared_ptr< OMEModelObject > getModelObject(const std::string &id) const =0
Retrieve a model object from the model.
virtual ~OMEModel()
Destructor.
Definition: OMEModel.h:81
virtual bool addReference(std::shared_ptr< OMEModelObject > &a, std::shared_ptr< Reference > &b)=0
Add a reference to a model object.
std::map< std::string, std::shared_ptr< OMEModelObject > > object_map_type
A map of string model object identifiers to model objects.
Definition: OMEModel.h:67
Open Microscopy Environment C++ implementation.
virtual const object_map_type & getModelObjects() const =0
Retrieve all model objects from the model.
reference_map_type::size_type size_type
Size type for reference map.
Definition: OMEModel.h:71
virtual const reference_map_type & getReferences() const =0
Retrieve all references from the model.
std::map< std::shared_ptr< OMEModelObject >, reference_list_type > reference_map_type
A map of model objects to list of Reference objects.
Definition: OMEModel.h:69
virtual size_type resolveReferences()=0
Resolve all references.