1 // File: ModelAPI_AttributeRefList.h
3 // Author: Mikhail PONIKAROV
5 #ifndef ModelAPI_AttributeRefList_H_
6 #define ModelAPI_AttributeRefList_H_
8 #include "ModelAPI_Attribute.h"
9 #include "ModelAPI_Feature.h"
12 /**\class ModelAPI_AttributeRefList
14 * \brief Attribute that contains list of references to features (located in the same document).
17 class ModelAPI_AttributeRefList : public ModelAPI_Attribute
20 /// Returns the type of this class of attributes
21 MODELAPI_EXPORT static std::string type()
26 /// Returns the type of this class of attributes, not static method
27 MODELAPI_EXPORT virtual std::string attributeType()
32 /// Appends the feature to the end of a list
33 MODELAPI_EXPORT virtual void append(ObjectPtr theObject) = 0;
35 /// Erases the first meet of the feature in the list
36 MODELAPI_EXPORT virtual void remove(ObjectPtr theObject) = 0;
38 /// Returns number of features in the list
39 MODELAPI_EXPORT virtual int size() = 0;
41 /// Returns the list of features
42 MODELAPI_EXPORT virtual std::list<ObjectPtr> list() = 0;
45 /// Objects are created for features automatically
46 MODELAPI_EXPORT ModelAPI_AttributeRefList()