]> git.tdb.fi Git - libs/core.git/blobdiff - source/debug/profiler.cpp
Add move semantics to Variant
[libs/core.git] / source / debug / profiler.cpp
index c4c880b70241c826d87e7db7ba3598bc8034be84..65cc71ced0876d6863f7613d6f99561e6a82244b 100644 (file)
@@ -7,20 +7,15 @@ using namespace std;
 namespace Msp {
 namespace Debug {
 
-Profiler::Profiler():
-       period(0),
-       inner(0)
-{ }
-
 void Profiler::set_period(unsigned p)
 {
        if(p==period)
                return;
 
        period = p;
-       for(map<string, ScopeInfo>::iterator i=scopes.begin(); i!=scopes.end(); ++i)
+       for(auto &kvp: scopes)
        {
-               ScopeInfo &si = i->second;
+               ScopeInfo &si = kvp.second;
                if(p==0)
                        si.history.clear();
                else
@@ -34,7 +29,7 @@ void Profiler::add_scope(const string &name)
 {
        if(!scopes.count(name))
        {
-               map<string, ScopeInfo>::iterator i = scopes.insert(map<string, ScopeInfo>::value_type(name, ScopeInfo())).first;
+               auto i = scopes.insert(make_pair(name, ScopeInfo())).first;
                i->second.history.resize(period);
        }
 }
@@ -48,10 +43,10 @@ ProfilingScope *Profiler::enter(ProfilingScope *ps)
 
 void Profiler::record(const ProfilingScope &scope)
 {
-       map<string, ScopeInfo>::iterator i = scopes.find(scope.get_name());
+       auto i = scopes.find(scope.get_name());
        if(i==scopes.end())
        {
-               i = scopes.insert(map<string, ScopeInfo>::value_type(scope.get_name(), ScopeInfo())).first;
+               i = scopes.insert(make_pair(scope.get_name(), ScopeInfo())).first;
                i->second.first_call = scope.get_entry_time();
                i->second.history.resize(period);
        }
@@ -96,13 +91,5 @@ const Profiler::ScopeInfo &Profiler::get_scope(const string &sn) const
        return get_item(scopes, sn);
 }
 
-
-Profiler::ScopeInfo::ScopeInfo():
-       calls(0),
-       calls_per_sec(0),
-       hist_pos(0),
-       hist_full(false)
-{ }
-
 } // namespace Debug
 } // namespace Msp