Elements  6.2
A C++ base framework for the Euclid Software.
ThisModule.h
Go to the documentation of this file.
1 
26 #ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_THISMODULE_H_
27 #define ELEMENTSKERNEL_ELEMENTSKERNEL_THISMODULE_H_
28 
31 
32 namespace Elements {
33 namespace System {
41 static inline const ModuleInfo& getThisModuleInfo() {
42  static ModuleInfo this_module;
43  if (this_module.isEmpty()) {
44  this_module = ModuleInfo(FuncPtrCast<void*>(getThisModuleInfo));
45  }
46 
47  return this_module;
48 }
49 
55 ELEMENTS_API const ModuleInfo& getThisExecutableInfo();
56 
57 } // namespace System
58 } // namespace Elements
59 
60 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_THISMODULE_H_
61 
Elements::System::getThisModuleInfo
static const ModuleInfo & getThisModuleInfo()
function to retrieve the current module
Definition: ThisModule.h:41
FuncPtrCast.h
defines a Small helper function that allows the cast from void * to function pointer
ELEMENTS_API
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition: Export.h:74
Elements::System::ModuleInfo
Definition: ModuleInfo.h:44
Elements::System::getThisExecutableInfo
const ELEMENTS_API ModuleInfo & getThisExecutableInfo()
Definition: ThisModule.cpp:33
Elements::System::ModuleInfo::isEmpty
bool isEmpty() const
Definition: ModuleInfo.cpp:83
ModuleInfo.h
OS specific details to access at run-time the module configuration of the process.
Elements
Definition: callBackExample.h:35
Elements::System::InfoType::System
@ System