39 #ifndef OME_XML_MODEL_OMEMODEL_H 40 #define OME_XML_MODEL_OMEMODEL_H 47 #include <ome/xml/model/OMEModelObject.h> 107 std::shared_ptr<OMEModelObject>
109 std::shared_ptr<OMEModelObject>&
object) = 0;
120 std::shared_ptr<OMEModelObject>
134 std::shared_ptr<OMEModelObject>
143 const object_map_type&
164 std::shared_ptr<Reference>& b) = 0;
172 const reference_map_type&
195 #endif // OME_XML_MODEL_OMEMODEL_H 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.
OMEModel & operator=(const OMEModel &)
Assignment operator (deleted).
virtual std::shared_ptr< OMEModelObject > addModelObject(const std::string &id, std::shared_ptr< OMEModelObject > &object)=0
Add a model object to 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.