Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Taudul <wolf.pld@gmail.com>2018-08-04 18:10:45 +0300
committerBartosz Taudul <wolf.pld@gmail.com>2018-08-04 18:10:45 +0300
commit0b4c2724ce3e55da4cc2aedcb1084b1528c8316b (patch)
treedb53dee3999268c9287b8de795ec11e11c66b753 /server/TracyStringDiscovery.hpp
parent2f01014a95d1f44963f3587e07d2e12fed73c7ee (diff)
Add strings to map directly in StringDiscovery.
Diffstat (limited to 'server/TracyStringDiscovery.hpp')
-rw-r--r--server/TracyStringDiscovery.hpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/server/TracyStringDiscovery.hpp b/server/TracyStringDiscovery.hpp
index 36e5cd84..bd217be4 100644
--- a/server/TracyStringDiscovery.hpp
+++ b/server/TracyStringDiscovery.hpp
@@ -19,18 +19,19 @@ public:
tracy_force_inline bool IsPending() const { return !m_pending.empty(); }
// Merge( destination, postponed )
- tracy_force_inline bool StringDiscovered( uint64_t name, const StringLocation& sl, std::function<void(T,T)> Merge )
+ template<typename U>
+ tracy_force_inline void StringDiscovered( uint64_t name, const StringLocation& sl, U& stringMap, std::function<void(T,T)> Merge )
{
auto pit = m_pending.find( name );
assert( pit != m_pending.end() );
auto it = m_rev.find( sl.ptr );
- bool add = it == m_rev.end();
- if( add )
+ if( it == m_rev.end() )
{
m_map.emplace( name, pit->second );
m_rev.emplace( sl.ptr, pit->second );
m_data.push_back( pit->second );
+ stringMap.emplace( name, sl.ptr );
}
else
{
@@ -40,8 +41,6 @@ public:
}
m_pending.erase( pit );
-
- return add;
}
tracy_force_inline T Retrieve( uint64_t name, std::function<T(uint64_t)> Create, std::function<void(uint64_t)> Query )