flag move constructor and swap operator as noexcept for performance

This commit is contained in:
Axel Kohlmeyer
2025-06-28 05:21:25 -04:00
parent 7bc86899b3
commit 3e12c3f773

View File

@ -113,8 +113,8 @@ class Superpose3D {
// C++ boilerplate: copy and move constructor, swap, and assignment operator // C++ boilerplate: copy and move constructor, swap, and assignment operator
Superpose3D(const Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &source); Superpose3D(const Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &source);
Superpose3D(Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &&other); Superpose3D(Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &&other) noexcept;
void swap(Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &other); void swap(Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &other) noexcept;
Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> & Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &
operator=(Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> source); operator=(Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> source);
@ -409,7 +409,7 @@ Superpose3D<Scalar, ConstArrayOfCoords, ConstArray>::Superpose3D(
template <typename Scalar, typename ConstArrayOfCoords, typename ConstArray> template <typename Scalar, typename ConstArrayOfCoords, typename ConstArray>
void Superpose3D<Scalar, ConstArrayOfCoords, ConstArray>::swap( void Superpose3D<Scalar, ConstArrayOfCoords, ConstArray>::swap(
Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &other) Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &other) noexcept
{ {
std::swap(N, other.N); std::swap(N, other.N);
std::swap(R, other.R); std::swap(R, other.R);
@ -420,7 +420,7 @@ void Superpose3D<Scalar, ConstArrayOfCoords, ConstArray>::swap(
// Move constructor (C++11) // Move constructor (C++11)
template <typename Scalar, typename ConstArrayOfCoords, typename ConstArray> template <typename Scalar, typename ConstArrayOfCoords, typename ConstArray>
Superpose3D<Scalar, ConstArrayOfCoords, ConstArray>::Superpose3D( Superpose3D<Scalar, ConstArrayOfCoords, ConstArray>::Superpose3D(
Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &&other) Superpose3D<Scalar, ConstArrayOfCoords, ConstArray> &&other) noexcept
{ {
Init(); Init();
swap(*this, other); swap(*this, other);