From a96f58c3dead94c8f14505e513b867fdc75780e2 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 1 Oct 2017 01:51:29 +0200 Subject: [PATCH] Implement resize() in tracy::Vector. --- server/TracyVector.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/TracyVector.hpp b/server/TracyVector.hpp index c8f8b276..3064cb45 100755 --- a/server/TracyVector.hpp +++ b/server/TracyVector.hpp @@ -115,6 +115,14 @@ public: return begin; } + void reserve( size_t cap ) + { + if( cap <= m_capacity ) return; + memUsage.fetch_add( ( cap - m_capacity ) * sizeof( T ), std::memory_order_relaxed ); + m_capacity = cap; + Realloc(); + } + private: void AllocMore() { @@ -128,6 +136,11 @@ private: memUsage.fetch_add( m_capacity * sizeof( T ), std::memory_order_relaxed ); m_capacity *= 2; } + Realloc(); + } + + void Realloc() + { T* ptr = new T[m_capacity]; if( m_size != 0 ) {