Salome HOME
#24666 [CEA][Windows] BLSURPLUGIN compilation issue
[modules/smesh.git] / src / SMESHDS / SMESHDS_Hypothesis.cxx
index fb2ea91cf211ea27872f9f8a9deaae29a2c58bb9..712ab920dc2929cc2da58a247913f4b10bcbf807 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -103,3 +103,44 @@ bool SMESHDS_Hypothesis::operator==(const SMESHDS_Hypothesis& other) const
   ((SMESHDS_Hypothesis*)&other)->SaveTo(otherSave);
   return mySave.str() == otherSave.str();
 }
+
+//================================================================================
+/*!
+ * \brief Compare types of hypotheses
+ */
+//================================================================================
+
+bool SMESHDS_Hypothesis::IsSameName( const SMESHDS_Hypothesis& other) const
+{
+  return _name == other._name;
+}
+
+//================================================================================
+/*!
+ * \brief Save a string to a stream
+ */
+//================================================================================
+
+void SMESHDS_Hypothesis::SaveStringToStream(std::ostream & save, const std::string& txt )
+{
+  save << " " << txt.size() << " " << txt;
+}
+
+//================================================================================
+/*!
+ * \brief Load a string from a stream
+ */
+//================================================================================
+
+bool SMESHDS_Hypothesis::LoadStringFromStream(std::istream & load, std::string& txt )
+{
+  txt.clear();
+  int size = -1;
+  if ( static_cast<bool>( load >> size ) && size > 0 )
+  {
+    txt.resize( size, '\0' );
+    load.get( txt[0] ); // remove a white-space
+    load.get( & txt[0], size + 1 );
+  }
+  return (int)txt.size() == size;
+}