* @param[in] rhs Reference to an IntrusivePtr
*/
template<typename U>
- IntrusivePtr(IntrusivePtr<U>&& rhs)
+ IntrusivePtr(IntrusivePtr<U>&& rhs) noexcept
: mPtr(rhs.Detach())
{
}
* @SINCE_1_9.23
* @param[in] rhs Reference to an IntrusivePtr
*/
- IntrusivePtr(IntrusivePtr&& rhs)
+ IntrusivePtr(IntrusivePtr&& rhs) noexcept
: mPtr(rhs.Detach())
{
}
* @param rhs Reference to intrusive pointer
* @return Reference to moved intrusive pointer
*/
- IntrusivePtr& operator=(IntrusivePtr&& rhs)
+ IntrusivePtr& operator=(IntrusivePtr&& rhs) noexcept
{
if(this != &rhs)
{
* @return Reference to moved intrusive pointer
*/
template<typename U>
- IntrusivePtr& operator=(IntrusivePtr<U>&& rhs)
+ IntrusivePtr& operator=(IntrusivePtr<U>&& rhs) noexcept
{
if(this != reinterpret_cast<IntrusivePtr<T>*>(&rhs))
{
#define DALI_DEGREE_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
DALI_CORE_API Degree(Radian value);
public:
- Degree(const Degree&) = default; ///< Default copy constructor
- Degree(Degree&&) = default; ///< Default move constructor
- Degree& operator=(const Degree&) = default; ///< Default copy assignment operator
- Degree& operator=(Degree&&) = default; ///< Default move assignment operator
+ Degree(const Degree&) = default; ///< Default copy constructor
+ Degree(Degree&&) noexcept = default; ///< Default move constructor
+ Degree& operator=(const Degree&) = default; ///< Default copy assignment operator
+ Degree& operator=(Degree&&) noexcept = default; ///< Default move assignment operator
public:
// member data
return *this;
}
-Matrix::Matrix(Matrix&& matrix)
+Matrix::Matrix(Matrix&& matrix) noexcept
{
memcpy(mMatrix, matrix.mMatrix, NUM_BYTES_IN_MATRIX);
}
-Matrix& Matrix::operator=(Matrix&& matrix)
+Matrix& Matrix::operator=(Matrix&& matrix) noexcept
{
if(this != &matrix)
{
* @SINCE_1_9.21
* @param[in] matrix A reference to the moved matrix
*/
- Matrix(Matrix&& matrix);
+ Matrix(Matrix&& matrix) noexcept;
/**
* @brief Move assignment operator.
* @param[in] matrix A reference to the moved matrix
* @return A reference to this
*/
- Matrix& operator=(Matrix&& matrix);
+ Matrix& operator=(Matrix&& matrix) noexcept;
/**
* @brief The identity matrix.
mElements[S22] = 1.0f;
}
-Matrix3::Matrix3(Matrix3&& matrix)
+Matrix3::Matrix3(Matrix3&& matrix) noexcept
{
memcpy(mElements, matrix.mElements, NUM_BYTES_IN_MATRIX);
}
-Matrix3& Matrix3::operator=(Matrix3&& matrix)
+Matrix3& Matrix3::operator=(Matrix3&& matrix) noexcept
{
if(this != &matrix)
{
* @SINCE_1_9.21
* @param[in] matrix A reference to the moved matrix
*/
- Matrix3(Matrix3&& matrix);
+ Matrix3(Matrix3&& matrix) noexcept;
/**
* @brief Move assignment operator.
* @param[in] matrix A reference to the moved matrix
* @return A reference to this
*/
- Matrix3& operator=(Matrix3&& matrix);
+ Matrix3& operator=(Matrix3&& matrix) noexcept;
/**
* @brief Assignment Operator.
#define DALI_QUATERNION_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
/// @endcond
public:
- Quaternion(const Quaternion&) = default; ///< Default copy constructor
- Quaternion(Quaternion&&) = default; ///< Default move constructor
- Quaternion& operator=(const Quaternion&) = default; ///< Default copy assignment operator
- Quaternion& operator=(Quaternion&&) = default; ///< Default move assignment operator
+ Quaternion(const Quaternion&) = default; ///< Default copy constructor
+ Quaternion(Quaternion&&) noexcept = default; ///< Default move constructor
+ Quaternion& operator=(const Quaternion&) = default; ///< Default copy assignment operator
+ Quaternion& operator=(Quaternion&&) noexcept = default; ///< Default move assignment operator
public:
Vector4 mVector; ///< w component is s ( = cos(theta/2.0) )
#define DALI_RADIAN_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
}
public:
- Radian(const Radian&) = default; ///< Default copy constructor
- Radian(Radian&&) = default; ///< Default move constructor
- Radian& operator=(const Radian&) = default; ///< Default copy assignment operator
- Radian& operator=(Radian&&) = default; ///< Default move assignment operator
+ Radian(const Radian&) = default; ///< Default copy constructor
+ Radian(Radian&&) noexcept = default; ///< Default move constructor
+ Radian& operator=(const Radian&) = default; ///< Default copy assignment operator
+ Radian& operator=(Radian&&) noexcept = default; ///< Default move assignment operator
public:
// member data
* @SINCE_1_9.27
* @param[in] rhs The original object
*/
- Rect<T>(Rect<T>&& rhs) = default;
+ Rect<T>(Rect<T>&& rhs) noexcept = default;
/**
* @brief Default move assignment operator.
* @param[in] rhs The original object
* @return Reference to this
*/
- Rect<T>& operator=(Rect<T>&& rhs) = default;
+ Rect<T>& operator=(Rect<T>&& rhs) noexcept = default;
/**
* @brief Assignment operator.
#define DALI_VECTOR_2_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
}
public:
- Vector2(const Vector2&) = default; ///< Default copy constructor
- Vector2(Vector2&&) = default; ///< Default move constructor
- Vector2& operator=(const Vector2&) = default; ///< Default copy assignment operator
- Vector2& operator=(Vector2&&) = default; ///< Default move assignment operator
+ Vector2(const Vector2&) = default; ///< Default copy constructor
+ Vector2(Vector2&&) noexcept = default; ///< Default move constructor
+ Vector2& operator=(const Vector2&) = default; ///< Default copy assignment operator
+ Vector2& operator=(Vector2&&) noexcept = default; ///< Default move assignment operator
public: // Data
// NOTE
#define DALI_VECTOR_3_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
};
public:
- Vector3(const Vector3&) = default; ///< Default copy constructor
- Vector3(Vector3&&) = default; ///< Default move constructor
- Vector3& operator=(const Vector3&) = default; ///< Default copy assignment operator
- Vector3& operator=(Vector3&&) = default; ///< Default move assignment operator
+ Vector3(const Vector3&) = default; ///< Default copy constructor
+ Vector3(Vector3&&) noexcept = default; ///< Default move constructor
+ Vector3& operator=(const Vector3&) = default; ///< Default copy assignment operator
+ Vector3& operator=(Vector3&&) noexcept = default; ///< Default move assignment operator
};
/**
#define DALI_VECTOR_4_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
};
public:
- Vector4(const Vector4&) = default; ///< Default copy constructor
- Vector4(Vector4&&) = default; ///< Default move constructor
- Vector4& operator=(const Vector4&) = default; ///< Default copy assignment operator
- Vector4& operator=(Vector4&&) = default; ///< Default move assignment operator
+ Vector4(const Vector4&) = default; ///< Default copy constructor
+ Vector4(Vector4&&) noexcept = default; ///< Default move constructor
+ Vector4& operator=(const Vector4&) = default; ///< Default copy assignment operator
+ Vector4& operator=(Vector4&&) noexcept = default; ///< Default move assignment operator
};
/**
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
BaseHandle& BaseHandle::operator=(const BaseHandle& rhs) = default;
-BaseHandle::BaseHandle(BaseHandle&& rhs) = default;
+BaseHandle::BaseHandle(BaseHandle&& rhs) noexcept = default;
-BaseHandle& BaseHandle::operator=(BaseHandle&& rhs) = default;
+BaseHandle& BaseHandle::operator=(BaseHandle&& rhs) noexcept = default;
bool BaseHandle::DoAction(const std::string& command, const Property::Map& attributes)
{
#define DALI_BASE_HANDLE_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* @SINCE_1_9.22
* @param[in] rhs A reference to the moved handle
*/
- BaseHandle(BaseHandle&& rhs);
+ BaseHandle(BaseHandle&& rhs) noexcept;
/**
* @brief Move assignment operator.
* @param[in] rhs A reference to the moved handle
* @return A reference to this handle
*/
- BaseHandle& operator=(BaseHandle&& rhs);
+ BaseHandle& operator=(BaseHandle&& rhs) noexcept;
/**
* @brief Connects a void() functor to a specified signal.
return Handle(static_cast<Dali::Internal::Object*>(mHandle.Get())).GetProperty(mIndex);
}
-IndirectValue& IndirectValue::operator=(IndirectValue&&) = default;
+IndirectValue& IndirectValue::operator=(IndirectValue&&) noexcept = default;
-IndirectValue::IndirectValue(IndirectValue&&) = default;
+IndirectValue::IndirectValue(IndirectValue&&) noexcept = default;
} // namespace Dali
* Making this private to prevent construction of auto type or IndirectValue type.
* @param[in] rhs The object to move
*/
- DALI_INTERNAL IndirectValue(IndirectValue&& rhs);
+ DALI_INTERNAL IndirectValue(IndirectValue&& rhs) noexcept;
/**
* @brief Move assignment operator.
* Making this private to prevent assignment to auto type or IndirectValue type.
* @param[in] rhs The object to move
*/
- DALI_INTERNAL IndirectValue& operator=(IndirectValue&& rhs);
+ DALI_INTERNAL IndirectValue& operator=(IndirectValue&& rhs) noexcept;
/**
* @brief Accessor for handle property.
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
mImpl->mArray = other.mImpl->mArray;
}
-Property::Array::Array(Property::Array&& other)
+Property::Array::Array(Property::Array&& other) noexcept
: mImpl(other.mImpl)
{
other.mImpl = nullptr;
return *this;
}
-Property::Array& Property::Array::operator=(Property::Array&& other)
+Property::Array& Property::Array::operator=(Property::Array&& other) noexcept
{
if(this != &other)
{
#define DALI_PROPERTY_ARRAY_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* @param[in] other The Array to move from
* @note After the @a other array is used, it becomes invalid and is no longer usable.
*/
- Array(Array&& other);
+ Array(Array&& other) noexcept;
/**
* @brief Non-virtual destructor.
*
* @note After the @a other array is used, it becomes invalid and is no longer usable.
*/
- Array& operator=(Array&& other);
+ Array& operator=(Array&& other) noexcept;
/**
* @brief Output to stream.
mImpl->mIndexValueContainer = other.mImpl->mIndexValueContainer;
}
-Property::Map::Map(Property::Map&& other)
+Property::Map::Map(Property::Map&& other) noexcept
: mImpl(other.mImpl)
{
other.mImpl = nullptr;
return *this;
}
-Property::Map& Property::Map::operator=(Property::Map&& other)
+Property::Map& Property::Map::operator=(Property::Map&& other) noexcept
{
if(this != &other)
{
* @param[in] other The Map to move from
* @note After the @a other array is used, it becomes invalid and is no longer usable.
*/
- Map(Map&& other);
+ Map(Map&& other) noexcept;
/**
* @brief Non-virtual destructor.
*
* @note The other array is an r-value so becomes invalid and is no longer usable.
*/
- Map& operator=(Map&& other);
+ Map& operator=(Map&& other) noexcept;
/**
* @brief Output to stream.
#define DALI_REF_OBJECT_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
RefObject& operator=(const RefObject& rhs);
+ // Not movable
+
+ RefObject(RefObject&& rhs) = delete; ///< Deleted move constructor
+ RefObject& operator=(RefObject&& rhs) = delete; ///< Deleted move assignment operator
+
private:
std::atomic_uint32_t mCount{0u}; ///< Reference count
};