]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Optimization: arguments in Data methods by reference
authormpv <mikhail.ponikarov@opencascade.com>
Thu, 24 Jul 2014 06:46:06 +0000 (10:46 +0400)
committermpv <mikhail.ponikarov@opencascade.com>
Thu, 24 Jul 2014 06:46:06 +0000 (10:46 +0400)
src/Model/Model_Data.cpp
src/Model/Model_Data.h
src/ModelAPI/ModelAPI_Data.h

index e08e565bd5274c0e02cf9083ea1f91d81535f3de..2cf5b1b86b66f2c4e30b06e6500e6bd8674637a9 100644 (file)
@@ -37,7 +37,7 @@ string Model_Data::name()
   return ""; // not defined
 }
 
-void Model_Data::setName(string theName)
+void Model_Data::setName(const string& theName)
 {
   bool isModified = false;
   Handle(TDataStd_Name) aName;
@@ -56,7 +56,7 @@ void Model_Data::setName(string theName)
   }*/
 }
 
-void Model_Data::addAttribute(string theID, string theAttrType)
+void Model_Data::addAttribute(const string& theID, const string theAttrType)
 {
   TDF_Label anAttrLab = myLab.FindChild(myAttrs.size() + 1);
   ModelAPI_Attribute* anAttr = 0;
@@ -88,7 +88,7 @@ void Model_Data::addAttribute(string theID, string theAttrType)
   }
 }
 
-boost::shared_ptr<ModelAPI_AttributeDocRef> Model_Data::docRef(const string theID)
+boost::shared_ptr<ModelAPI_AttributeDocRef> Model_Data::docRef(const string& theID)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator aFound = myAttrs.find(theID);
   if (aFound == myAttrs.end()) {
@@ -103,7 +103,7 @@ boost::shared_ptr<ModelAPI_AttributeDocRef> Model_Data::docRef(const string theI
   return aRes;
 }
 
-boost::shared_ptr<ModelAPI_AttributeDouble> Model_Data::real(const string theID)
+boost::shared_ptr<ModelAPI_AttributeDouble> Model_Data::real(const string& theID)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator aFound = myAttrs.find(theID);
   if (aFound == myAttrs.end()) {
@@ -118,7 +118,7 @@ boost::shared_ptr<ModelAPI_AttributeDouble> Model_Data::real(const string theID)
   return aRes;
 }
 
-boost::shared_ptr<ModelAPI_AttributeBoolean> Model_Data::boolean(const std::string theID)
+boost::shared_ptr<ModelAPI_AttributeBoolean> Model_Data::boolean(const std::string& theID)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator aFound = myAttrs.find(theID);
   if (aFound == myAttrs.end()) {
@@ -133,7 +133,7 @@ boost::shared_ptr<ModelAPI_AttributeBoolean> Model_Data::boolean(const std::stri
   return aRes;
 }
 
-boost::shared_ptr<ModelAPI_AttributeReference> Model_Data::reference(const string theID)
+boost::shared_ptr<ModelAPI_AttributeReference> Model_Data::reference(const string& theID)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator aFound = myAttrs.find(theID);
   if (aFound == myAttrs.end()) {
@@ -148,7 +148,7 @@ boost::shared_ptr<ModelAPI_AttributeReference> Model_Data::reference(const strin
   return aRes;
 }
 
-boost::shared_ptr<ModelAPI_AttributeRefAttr> Model_Data::refattr(const string theID)
+boost::shared_ptr<ModelAPI_AttributeRefAttr> Model_Data::refattr(const string& theID)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator aFound = myAttrs.find(theID);
   if (aFound == myAttrs.end()) {
@@ -163,7 +163,7 @@ boost::shared_ptr<ModelAPI_AttributeRefAttr> Model_Data::refattr(const string th
   return aRes;
 }
 
-boost::shared_ptr<ModelAPI_AttributeRefList> Model_Data::reflist(const string theID)
+boost::shared_ptr<ModelAPI_AttributeRefList> Model_Data::reflist(const string& theID)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator aFound = myAttrs.find(theID);
   if (aFound == myAttrs.end()) {
@@ -178,7 +178,7 @@ boost::shared_ptr<ModelAPI_AttributeRefList> Model_Data::reflist(const string th
   return aRes;
 }
 
-boost::shared_ptr<ModelAPI_Attribute> Model_Data::attribute(const std::string theID)
+boost::shared_ptr<ModelAPI_Attribute> Model_Data::attribute(const std::string& theID)
 {
   boost::shared_ptr<ModelAPI_Attribute> aResult;
   if (myAttrs.find(theID) == myAttrs.end()) // no such attribute
@@ -186,7 +186,7 @@ boost::shared_ptr<ModelAPI_Attribute> Model_Data::attribute(const std::string th
   return myAttrs[theID];
 }
 
-const string& Model_Data::id(const boost::shared_ptr<ModelAPI_Attribute> theAttr)
+const string& Model_Data::id(const boost::shared_ptr<ModelAPI_Attribute>& theAttr)
 {
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = myAttrs.begin();
   for(; anAttr != myAttrs.end(); anAttr++) {
@@ -197,7 +197,7 @@ const string& Model_Data::id(const boost::shared_ptr<ModelAPI_Attribute> theAttr
   return anEmpty;
 }
 
-bool Model_Data::isEqual(const boost::shared_ptr<ModelAPI_Data> theData)
+bool Model_Data::isEqual(const boost::shared_ptr<ModelAPI_Data>& theData)
 {
   boost::shared_ptr<Model_Data> aData = boost::dynamic_pointer_cast<Model_Data>(theData);
   if (aData)
@@ -210,7 +210,7 @@ bool Model_Data::isValid()
   return !myLab.IsNull() && myLab.HasAttribute();
 }
 
-list<boost::shared_ptr<ModelAPI_Attribute> > Model_Data::attributes(const string theType)
+list<boost::shared_ptr<ModelAPI_Attribute> > Model_Data::attributes(const string& theType)
 {
   list<boost::shared_ptr<ModelAPI_Attribute> > aResult;
   map<string, boost::shared_ptr<ModelAPI_Attribute> >::iterator anAttrsIter = myAttrs.begin();
index c63bce4760be2f493f829d01c9fd691331ad2623..7faa34331cf3e42130b06d4521ade472a0b1abca 100644 (file)
@@ -43,36 +43,36 @@ public:
   /// Returns the name of the feature visible by the user in the object browser
   MODEL_EXPORT virtual std::string name();
   /// Defines the name of the feature visible by the user in the object browser
-  MODEL_EXPORT virtual void setName(std::string theName);
+  MODEL_EXPORT virtual void setName(const std::string& theName);
   /// Returns the attribute that references to another document
-  MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeDocRef> docRef(const std::string theID);
+  MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeDocRef> docRef(const std::string& theID);
   /// Returns the attribute that contains real value with double precision
-  MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeDouble> real(const std::string theID);
+  MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeDouble> real(const std::string& theID);
   /// Returns the attribute that contains reference to a feature
   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeReference> 
-    reference(const std::string theID);
+    reference(const std::string& theID);
   /// Returns the attribute that contains reference to an attribute of a feature
   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeRefAttr>
-    refattr(const std::string theID);
+    refattr(const std::string& theID);
   /// Returns the attribute that contains list of references to features
   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeRefList> 
-    reflist(const std::string theID);
+    reflist(const std::string& theID);
   /// Returns the attribute that contains boolean value
   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_AttributeBoolean> 
-    boolean(const std::string theID);
+    boolean(const std::string& theID);
   /// Returns the generic attribute by identifier
   /// \param theID identifier of the attribute
-  MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Attribute> attribute(const std::string theID);
+  MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Attribute> attribute(const std::string& theID);
   /// Returns all attributes ofthe feature of the given type
   /// or all attributes if "theType" is empty
   MODEL_EXPORT virtual std::list<boost::shared_ptr<ModelAPI_Attribute> >
-    attributes(const std::string theType);
+    attributes(const std::string& theType);
 
   /// Identifier by the id (not fast, iteration by map)
   /// \param theAttr attribute already created in this data
-  MODEL_EXPORT virtual const std::string& id(const boost::shared_ptr<ModelAPI_Attribute> theAttr);
+  MODEL_EXPORT virtual const std::string& id(const boost::shared_ptr<ModelAPI_Attribute>& theAttr);
   /// Returns true if data belongs to same features
-  MODEL_EXPORT virtual bool isEqual(const boost::shared_ptr<ModelAPI_Data> theData);
+  MODEL_EXPORT virtual bool isEqual(const boost::shared_ptr<ModelAPI_Data>& theData);
   /// Returns true if it is correctly connected t othe data model
   MODEL_EXPORT virtual bool isValid();
 
@@ -83,7 +83,7 @@ public:
   /// for each attribute of the object
   /// \param theID identifier of the attribute that can be referenced by this ID later
   /// \param theAttrType type of the created attribute (received from the type method)
-  MODEL_EXPORT virtual void addAttribute(std::string theID, std::string theAttrType);
+  MODEL_EXPORT virtual void addAttribute(const std::string& theID, const std::string theAttrType);
 
   /// Useful method for "set" methods of the attributes: sends an UPDATE event and
   /// makes attribute initialized
index eea1d1ae87ac75bbc9f4c614edb2907467d4cc14..3a414e1eaaea533d1894423663da6a23dbbc4148 100644 (file)
@@ -34,33 +34,33 @@ public:
   virtual std::string name() = 0;
 
   /// Defines the name of the feature visible by the user in the object browser
-  virtual void setName(std::string theName) = 0;
+  virtual void setName(const std::string& theName) = 0;
 
   /// Returns the attribute that references to another document
-  virtual boost::shared_ptr<ModelAPI_AttributeDocRef> docRef(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_AttributeDocRef> docRef(const std::string& theID) = 0;
   /// Returns the attribute that contains real value with double precision
-  virtual boost::shared_ptr<ModelAPI_AttributeDouble> real(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_AttributeDouble> real(const std::string& theID) = 0;
   /// Returns the attribute that contains reference to a feature
-  virtual boost::shared_ptr<ModelAPI_AttributeReference> reference(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_AttributeReference> reference(const std::string& theID) = 0;
   /// Returns the attribute that contains reference to an attribute of a feature
-  virtual boost::shared_ptr<ModelAPI_AttributeRefAttr> refattr(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_AttributeRefAttr> refattr(const std::string& theID) = 0;
   /// Returns the attribute that contains list of references to features
-  virtual boost::shared_ptr<ModelAPI_AttributeRefList> reflist(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_AttributeRefList> reflist(const std::string& theID) = 0;
   /// Returns the attribute that contains boolean value
-  virtual boost::shared_ptr<ModelAPI_AttributeBoolean> boolean(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_AttributeBoolean> boolean(const std::string& theID) = 0;
 
   /// Returns the generic attribute by identifier
   /// \param theID identifier of the attribute
-  virtual boost::shared_ptr<ModelAPI_Attribute> attribute(const std::string theID) = 0;
+  virtual boost::shared_ptr<ModelAPI_Attribute> attribute(const std::string& theID) = 0;
   /// Returns all attributes ofthe feature of the given type
   /// or all attributes if "theType" is empty
   virtual std::list<boost::shared_ptr<ModelAPI_Attribute> >
-    attributes(const std::string theType) = 0;
+    attributes(const std::string& theType) = 0;
   /// Identifier by the id (not fast, iteration by map)
   /// \param theAttr attribute already created in this data
-  virtual const std::string& id(const boost::shared_ptr<ModelAPI_Attribute> theAttr) = 0;
+  virtual const std::string& id(const boost::shared_ptr<ModelAPI_Attribute>& theAttr) = 0;
   /// Returns true if data belongs to same features
-  virtual bool isEqual(const boost::shared_ptr<ModelAPI_Data> theData) = 0;
+  virtual bool isEqual(const boost::shared_ptr<ModelAPI_Data>& theData) = 0;
   /// Returns true if it is correctly connected t othe data model
   virtual bool isValid() = 0;
 
@@ -68,7 +68,7 @@ public:
   /// for each attribute of the object
   /// \param theID identifier of the attribute that can be referenced by this ID later
   /// \param theAttrType type of the created attribute (received from the type method)
-  virtual void addAttribute(std::string theID, std::string theAttrType) = 0;
+  virtual void addAttribute(const std::string& theID, const std::string theAttrType) = 0;
 
   /// Useful method for "set" methods of the attributes: sends an UPDATE event and
   /// makes attribute initialized