]> git.tdb.fi Git - libs/core.git/blobdiff - source/debug/profilingscope.h
Add move semantics to Variant
[libs/core.git] / source / debug / profilingscope.h
index 107688886a931db5891049551e6aa1ddc2c2ecba..7b8bcf375108c5a42ff80f98780571c2ab2bfda5 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef MSP_DEBUG_PROFILINGSCOPE_H_
 #define MSP_DEBUG_PROFILINGSCOPE_H_
 
+#include <msp/core/mspcore_api.h>
+#include <msp/core/noncopyable.h>
 #include <msp/time/timestamp.h>
 #include "profiler.h"
 
@@ -12,18 +14,16 @@ RAII timing class to accompany Profiler.  Timing starts when an object is
 created and ends when it goes out of scope.  If there was another object in an
 outer scope, it is notified of the time used in inner scopes.
 */
-class ProfilingScope
+class MSPCORE_API ProfilingScope: private NonCopyable
 {
 private:
        Profiler &profiler;
        std::string name;
-       ProfilingScope *parent;
+       ProfilingScope *parent = nullptr;
        Time::TimeStamp entry_time;
        Time::TimeDelta time_spent;
        Time::TimeDelta child_time;
 
-       ProfilingScope(const ProfilingScope &);
-       ProfilingScope &operator=(const ProfilingScope &);
 public:
        ProfilingScope(Profiler &p, const std::string &n);
        ~ProfilingScope();