+
+//=======================================================================
+//function : GetElements
+//purpose :
+//=======================================================================
+
+SMDS_ElemIteratorPtr SMDS_MeshGroup::GetElements() const
+{
+ typedef SMDS_SetIterator< const SMDS_MeshElement*, TIterator > TSetIterator;
+ return boost::make_shared< TSetIterator >( myElements.begin(), myElements.end() );
+}
+
+//=======================================================================
+//function : Move contents of another group
+//purpose :
+//=======================================================================
+
+void SMDS_MeshGroup::operator=( SMDS_MeshGroup && other )
+{
+ myMesh = other.myMesh;
+ myType = other.myType;
+ myElements = std::move( other.myElements );
+ ++myTic;
+}
+
+//=======================================================================
+//function : tmpClear
+//purpose : temporary remove its elements before mesh compacting
+//=======================================================================
+
+void SMDS_MeshGroup::tmpClear()
+{
+ myElements.clear();
+}