Gobelijn API documentation  - generated for commit a0cbea7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
MemberTracer.h
Go to the documentation of this file.
1 #pragma once
2 
8 #include "tracer/TracerOutput.h"
9 #include <iosfwd>
10 #include <string>
11 
13 #if defined(__GNUC__)
14 #define COMP_MISC_FUNCTION_NAME __PRETTY_FUNCTION__
15 #else
16 #define COMP_MISC_FUNCTION_NAME __FUNCTION__
17 #endif
18 
21 #define COMP_MISC_MEMBER_TRACER \
22  UA_CoMP::Misc::MemberTracer macro_defined_member_tracer##__LINE__(COMP_MISC_FUNCTION_NAME, this)
23 
24 namespace UA_CoMP {
25 namespace Misc {
26 
37 {
38 public:
40  MemberTracer(const std::string& member_name, const void* object_this);
41 
43  MemberTracer(const MemberTracer&) = delete;
44 
46  MemberTracer& operator=(const MemberTracer&) = delete;
47 
49  ~MemberTracer();
50 
51 private:
52  const std::string m_member_name;
53  const void* const m_object_this;
54 };
55 
56 } // namespace Misc
57 } // namespace UA_CoMP
Class whose constructor/destructor pair are used to mark entering and leaving a member (function) bod...
Definition: MemberTracer.h:36
MemberTracer(const std::string &member_name, const void *object_this)
Constructor inserts message in TracerOutput about entering member body.
MemberTracer & operator=(const MemberTracer &)=delete
No assignment.
const std::string m_member_name
Definition: MemberTracer.h:52
Header for TracerOutput.
~MemberTracer()
Destructor inserts message in TracerOutput about leaving member body.
const void *const m_object_this
Definition: MemberTracer.h:53