Move constructors/operators should be marked noexcept to avoid the compiler picking the copy constructor instead (performance-noexcept-move-constructor)

This commit is contained in:
Tim Wojtulewicz 2020-02-03 11:14:03 -05:00
parent 38333aac91
commit 95d2af4501
6 changed files with 6 additions and 6 deletions

View file

@ -65,7 +65,7 @@ Tag& Tag::operator=(const Tag& other)
return *this; return *this;
} }
Tag& Tag::operator=(const Tag&& other) Tag& Tag::operator=(const Tag&& other) noexcept
{ {
if ( this != &other ) if ( this != &other )
{ {

View file

@ -82,7 +82,7 @@ protected:
/** /**
* Move assignment operator. * Move assignment operator.
*/ */
Tag& operator=(const Tag&& other); Tag& operator=(const Tag&& other) noexcept;
/** /**
* Compares two tags for equality. * Compares two tags for equality.

View file

@ -16,7 +16,7 @@ logging::Tag& logging::Tag::operator=(const logging::Tag& other)
return *this; return *this;
} }
logging::Tag& logging::Tag::operator=(const logging::Tag&& other) logging::Tag& logging::Tag::operator=(const logging::Tag&& other) noexcept
{ {
::Tag::operator=(other); ::Tag::operator=(other);
return *this; return *this;

View file

@ -56,7 +56,7 @@ public:
/** /**
* Move assignment operator. * Move assignment operator.
*/ */
Tag& operator=(const Tag&& other); Tag& operator=(const Tag&& other) noexcept;
/** /**
* Compares two tags for equality. * Compares two tags for equality.

View file

@ -76,7 +76,7 @@ CardinalityCounter::CardinalityCounter(CardinalityCounter& other)
p = other.p; p = other.p;
} }
CardinalityCounter::CardinalityCounter(CardinalityCounter&& o) CardinalityCounter::CardinalityCounter(CardinalityCounter&& o) noexcept
{ {
V = o.V; V = o.V;
alpha_m = o.alpha_m; alpha_m = o.alpha_m;

View file

@ -43,7 +43,7 @@ public:
/** /**
* Move-Constructor * Move-Constructor
*/ */
CardinalityCounter(CardinalityCounter&& o); CardinalityCounter(CardinalityCounter&& o) noexcept;
/** /**
* Constructor for a known number of buckets. * Constructor for a known number of buckets.