diff --git a/server/TracyVector.hpp b/server/TracyVector.hpp index 64dbbc55..e9869f63 100755 --- a/server/TracyVector.hpp +++ b/server/TracyVector.hpp @@ -24,12 +24,32 @@ public: { } + Vector( const Vector& ) = delete; + Vector( Vector&& src ) + : m_ptr( src.m_ptr ) + , m_size( src.m_size ) + , m_capacity( src.m_capacity ) + { + src.m_ptr = nullptr; + } + ~Vector() { memUsage.fetch_sub( m_capacity * sizeof( T ), std::memory_order_relaxed ); delete[] m_ptr; } + Vector& operator=( const Vector& ) = delete; + Vector& operator=( Vector&& src ) + { + delete[] m_ptr; + m_ptr = src.m_ptr; + m_size = src.m_size; + m_capacity = src.m_capacity; + src.m_ptr = nullptr; + return *this; + } + bool empty() const { return m_size == 0; } size_t size() const { return m_size; }