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;
}
Tag& Tag::operator=(const Tag&& other)
Tag& Tag::operator=(const Tag&& other) noexcept
{
if ( this != &other )
{

View file

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

View file

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

View file

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

View file

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

View file

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