1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-24 13:50:49 +03:00

0025617: Avoid classes with a copy constructor and the default destructor or assignment operator

Removed useless user-defined copy constructors and assignment operators in BOPCol_NCVector, NCollection_Mat4, NCollection_Vec*

User-defined assignment operator matching copy constructor added in NCollection_StdAllocator.

Class VrmlData_DataMapOfShapeAppearance redefined as simple typedef to NCollection_DataMap<>.
This commit is contained in:
azn
2014-12-17 11:17:28 +03:00
committed by kgv
parent 4dff6a1bcb
commit 9533a86648
9 changed files with 15 additions and 110 deletions

View File

@@ -49,21 +49,6 @@ public:
InitIdentity();
}
//! Copy constructor.
//! @param theOther [in] the matrix to copy values from.
NCollection_Mat4 (const NCollection_Mat4& theOther)
{
std::memcpy (this, &theOther, sizeof (NCollection_Mat4));
}
//! Assignment operator.
//! @param theOther [in] the matrix to copy values from.
const NCollection_Mat4& operator= (const NCollection_Mat4& theOther)
{
std::memcpy (this, &theOther, sizeof (NCollection_Mat4));
return *this;
}
//! Get element at the specified row and column.
//! @param theRow [in] the row.to address.
//! @param theCol [in] the column to address.

View File

@@ -58,19 +58,15 @@ public:
NCollection_StdAllocator( const Handle(NCollection_BaseAllocator)& theAlloc) throw()
{ myAlloc = theAlloc; }
//! Constructor.
/*! Copies Allocator() from \a X.*/
NCollection_StdAllocator( const NCollection_StdAllocator& X) throw() { myAlloc = X.myAlloc; }
//! Destructor.
/*! Empty implementation.*/
~NCollection_StdAllocator() throw() {}
//! Constructor.
//! Copy constructor.
/*! Copies Allocator() from \a Y.*/
template<typename U> NCollection_StdAllocator( const NCollection_StdAllocator<U>& Y) throw()
{ myAlloc = Y.Allocator(); }
//! Assignment operator
template<typename U> NCollection_StdAllocator& operator= (const NCollection_StdAllocator<U>& Y) throw()
{ myAlloc = Y.Allocator(); return *this; }
//! Returns an object address.
/*! Returns &x.*/
pointer address( reference x ) const { return &x; }
@@ -158,6 +154,13 @@ public:
/*! Returns an object specified in the constructor.*/
const Handle(NCollection_BaseAllocator)& Allocator() const { return myAlloc; }
//! Assignment operator
NCollection_StdAllocator& operator=(const NCollection_StdAllocator& X) throw()
{
myAlloc = X.myAlloc;
return *this;
}
protected:
Handle(NCollection_BaseAllocator) myAlloc;
};

View File

@@ -57,21 +57,6 @@ public:
v[1] = theY;
}
//! Copy constructor.
NCollection_Vec2 (const NCollection_Vec2& theVec2)
{
v[0] = theVec2[0];
v[1] = theVec2[1];
}
//! Assignment operator.
const NCollection_Vec2& operator= (const NCollection_Vec2& theVec2)
{
v[0] = theVec2[0];
v[1] = theVec2[1];
return *this;
}
//! Alias to 1st component as X coordinate in XY.
Element_t x() const { return v[0]; }

View File

@@ -73,19 +73,6 @@ public:
v[2] = Element_t(0);
}
//! Copy constructor.
NCollection_Vec3 (const NCollection_Vec3& theVec3)
{
std::memcpy (this, &theVec3, sizeof(NCollection_Vec3));
}
//! Assignment operator.
const NCollection_Vec3& operator= (const NCollection_Vec3& theVec3)
{
std::memcpy (this, &theVec3, sizeof(NCollection_Vec3));
return *this;
}
//! Alias to 1st component as X coordinate in XYZ.
Element_t x() const { return v[0]; }

View File

@@ -80,19 +80,6 @@ public:
v[3] = theAlpha;
}
//! Copy constructor.
NCollection_Vec4 (const NCollection_Vec4& theVec4)
{
std::memcpy (this, &theVec4, sizeof(NCollection_Vec4));
}
//! Assignment operator.
const NCollection_Vec4& operator= (const NCollection_Vec4& theVec4)
{
std::memcpy (this, &theVec4, sizeof(NCollection_Vec4));
return *this;
}
//! Alias to 1st component as X coordinate in XYZW.
Element_t x() const { return v[0]; }