Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Commit

Permalink
Remove trivial copy constructors and operators
Browse files Browse the repository at this point in the history
  • Loading branch information
sfan5 committed Mar 9, 2021
1 parent cadbd62 commit 4931b34
Show file tree
Hide file tree
Showing 9 changed files with 1 addition and 152 deletions.
26 changes: 0 additions & 26 deletions include/IAnimatedMeshMD3.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,6 @@ namespace scene
position.X = 0.f;
}

// construct copy constructor
SMD3QuaternionTag( const SMD3QuaternionTag & copyMe )
{
*this = copyMe;
}

// construct for searching
SMD3QuaternionTag( const core::stringc& name )
: Name ( name ) {}
Expand All @@ -181,14 +175,6 @@ namespace scene
return Name == other.Name;
}

SMD3QuaternionTag & operator=( const SMD3QuaternionTag & copyMe )
{
Name = copyMe.Name;
position = copyMe.position;
rotation = copyMe.rotation;
return *this;
}

core::stringc Name;
core::vector3df position;
core::quaternion rotation;
Expand All @@ -202,12 +188,6 @@ namespace scene
Container.setAllocStrategy(core::ALLOC_STRATEGY_SAFE);
}

// construct copy constructor
SMD3QuaternionTagList(const SMD3QuaternionTagList& copyMe)
{
*this = copyMe;
}

virtual ~SMD3QuaternionTagList() {}

SMD3QuaternionTag* get(const core::stringc& name)
Expand Down Expand Up @@ -250,12 +230,6 @@ namespace scene
Container.push_back(other);
}

SMD3QuaternionTagList& operator = (const SMD3QuaternionTagList & copyMe)
{
Container = copyMe.Container;
return *this;
}

private:
core::array < SMD3QuaternionTag > Container;
};
Expand Down
7 changes: 0 additions & 7 deletions include/IQ3Shader.h
Original file line number Diff line number Diff line change
Expand Up @@ -639,13 +639,6 @@ namespace quake3
: ID ( 0 ), VarGroup ( 0 ) {}
virtual ~IShader () {}

void operator = (const IShader &other )
{
ID = other.ID;
VarGroup = other.VarGroup;
name = other.name;
}

bool operator == (const IShader &other ) const
{
return 0 == strcmp ( name.c_str(), other.name.c_str () );
Expand Down
47 changes: 0 additions & 47 deletions include/SMaterial.h
Original file line number Diff line number Diff line change
Expand Up @@ -328,53 +328,6 @@ namespace video
*this = other;
}

//! Assignment operator
/** \param other Material to copy from. */
SMaterial& operator=(const SMaterial& other)
{
// Check for self-assignment!
if (this == &other)
return *this;

MaterialType = other.MaterialType;

AmbientColor = other.AmbientColor;
DiffuseColor = other.DiffuseColor;
EmissiveColor = other.EmissiveColor;
SpecularColor = other.SpecularColor;
Shininess = other.Shininess;
MaterialTypeParam = other.MaterialTypeParam;
MaterialTypeParam2 = other.MaterialTypeParam2;
Thickness = other.Thickness;
for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)
{
TextureLayer[i] = other.TextureLayer[i];
}

Wireframe = other.Wireframe;
PointCloud = other.PointCloud;
GouraudShading = other.GouraudShading;
Lighting = other.Lighting;
ZWriteEnable = other.ZWriteEnable;
BackfaceCulling = other.BackfaceCulling;
FrontfaceCulling = other.FrontfaceCulling;
FogEnable = other.FogEnable;
NormalizeNormals = other.NormalizeNormals;
ZBuffer = other.ZBuffer;
AntiAliasing = other.AntiAliasing;
ColorMask = other.ColorMask;
ColorMaterial = other.ColorMaterial;
BlendOperation = other.BlendOperation;
BlendFactor = other.BlendFactor;
PolygonOffsetFactor = other.PolygonOffsetFactor;
PolygonOffsetDirection = other.PolygonOffsetDirection;
PolygonOffsetDepthBias = other.PolygonOffsetDepthBias;
PolygonOffsetSlopeScale = other.PolygonOffsetSlopeScale;
UseMipMaps = other.UseMipMaps;

return *this;
}

//! Texture layer array.
SMaterialLayer TextureLayer[MATERIAL_MAX_TEXTURES];

Expand Down
34 changes: 1 addition & 33 deletions include/irrMap.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,6 @@ class map
reset();
}

// Copy constructor
Iterator(const Iterator& src) : Root(src.Root), Cur(src.Cur) {}

void reset(bool atLowest=true)
{
if (atLowest)
Expand All @@ -161,13 +158,6 @@ class map
return Cur;
}

Iterator& operator=(const Iterator& src)
{
Root = src.Root;
Cur = src.Cur;
return (*this);
}

void operator++(int)
{
inc();
Expand Down Expand Up @@ -287,8 +277,7 @@ class map
reset();
}

// Copy constructor
ConstIterator(const ConstIterator& src) : Root(src.Root), Cur(src.Cur) {}
// Constructor(Iterator)
ConstIterator(const Iterator& src) : Root(src.Root), Cur(src.Cur) {}

void reset(bool atLowest=true)
Expand All @@ -309,13 +298,6 @@ class map
return Cur;
}

ConstIterator& operator=(const ConstIterator& src)
{
Root = src.Root;
Cur = src.Cur;
return (*this);
}

void operator++(int)
{
inc();
Expand Down Expand Up @@ -453,13 +435,6 @@ class map
return Cur;
}

ParentFirstIterator& operator=(const ParentFirstIterator& src)
{
Root = src.Root;
Cur = src.Cur;
return (*this);
}

void operator++(int)
{
inc();
Expand Down Expand Up @@ -552,13 +527,6 @@ class map
return Cur;
}

ParentLastIterator& operator=(const ParentLastIterator& src)
{
Root = src.Root;
Cur = src.Cur;
return (*this);
}

void operator++(int)
{
inc();
Expand Down
2 changes: 0 additions & 2 deletions include/line2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ class line2d
line2d(T xa, T ya, T xb, T yb) : start(xa, ya), end(xb, yb) {}
//! Constructor for line between the two points given as vectors.
line2d(const vector2d<T>& start, const vector2d<T>& end) : start(start), end(end) {}
//! Copy constructor.
line2d(const line2d<T>& other) : start(other.start), end(other.end) {}

// operators

Expand Down
16 changes: 0 additions & 16 deletions include/matrix4.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,6 @@ namespace core
//! Simple operator for linearly accessing every element of the matrix.
const T& operator[](u32 index) const { return M[index]; }

//! Sets this matrix equal to the other matrix.
inline CMatrix4<T>& operator=(const CMatrix4<T> &other);

//! Sets all elements of this matrix to the value.
inline CMatrix4<T>& operator=(const T& scalar);

Expand Down Expand Up @@ -1504,19 +1501,6 @@ namespace core
}


template <class T>
inline CMatrix4<T>& CMatrix4<T>::operator=(const CMatrix4<T> &other)
{
if (this==&other)
return *this;
memcpy(M, other.M, 16*sizeof(T));
#if defined ( USE_MATRIX_TEST )
definitelyIdentityMatrix=other.definitelyIdentityMatrix;
#endif
return *this;
}


template <class T>
inline CMatrix4<T>& CMatrix4<T>::operator=(const T& scalar)
{
Expand Down
13 changes: 0 additions & 13 deletions include/quaternion.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ class quaternion
//! inequality operator
bool operator!=(const quaternion& other) const;

//! Assignment operator
inline quaternion& operator=(const quaternion& other);

#ifndef IRR_TEST_BROKEN_QUATERNION_USE
//! Matrix assignment operator
inline quaternion& operator=(const matrix4& other);
Expand Down Expand Up @@ -240,16 +237,6 @@ inline bool quaternion::operator!=(const quaternion& other) const
return !(*this == other);
}

// assignment operator
inline quaternion& quaternion::operator=(const quaternion& other)
{
X = other.X;
Y = other.Y;
Z = other.Z;
W = other.W;
return *this;
}

#ifndef IRR_TEST_BROKEN_QUATERNION_USE
// matrix assignment operator
inline quaternion& quaternion::operator=(const matrix4& m)
Expand Down
4 changes: 0 additions & 4 deletions include/vector2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,13 @@ class vector2d
vector2d(T nx, T ny) : X(nx), Y(ny) {}
//! Constructor with the same value for both members
explicit vector2d(T n) : X(n), Y(n) {}
//! Copy constructor
vector2d(const vector2d<T>& other) : X(other.X), Y(other.Y) {}

vector2d(const dimension2d<T>& other) : X(other.Width), Y(other.Height) {}

// operators

vector2d<T> operator-() const { return vector2d<T>(-X, -Y); }

vector2d<T>& operator=(const vector2d<T>& other) { X = other.X; Y = other.Y; return *this; }

vector2d<T>& operator=(const dimension2d<T>& other) { X = other.Width; Y = other.Height; return *this; }

vector2d<T> operator+(const vector2d<T>& other) const { return vector2d<T>(X + other.X, Y + other.Y); }
Expand Down
4 changes: 0 additions & 4 deletions include/vector3d.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,11 @@ namespace core
vector3d(T nx, T ny, T nz) : X(nx), Y(ny), Z(nz) {}
//! Constructor with the same value for all elements
explicit vector3d(T n) : X(n), Y(n), Z(n) {}
//! Copy constructor
vector3d(const vector3d<T>& other) : X(other.X), Y(other.Y), Z(other.Z) {}

// operators

vector3d<T> operator-() const { return vector3d<T>(-X, -Y, -Z); }

vector3d<T>& operator=(const vector3d<T>& other) { X = other.X; Y = other.Y; Z = other.Z; return *this; }

vector3d<T> operator+(const vector3d<T>& other) const { return vector3d<T>(X + other.X, Y + other.Y, Z + other.Z); }
vector3d<T>& operator+=(const vector3d<T>& other) { X+=other.X; Y+=other.Y; Z+=other.Z; return *this; }
vector3d<T> operator+(const T val) const { return vector3d<T>(X + val, Y + val, Z + val); }
Expand Down

0 comments on commit 4931b34

Please sign in to comment.