* @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))
{