Elements  5.8
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 {
34 
35 static inline const ModuleInfo& getThisModuleInfo() {
36  static ModuleInfo this_module;
37  if (this_module.isEmpty()) {
38  this_module = ModuleInfo(FuncPtrCast<void*>(getThisModuleInfo));
39  }
40 
41  return this_module;
42 }
43 
49 ELEMENTS_API const ModuleInfo& getThisExecutableInfo();
50 
51 } // namespace System
52 } // namespace Elements
53 
54 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_THISMODULE_H_
55 
FuncPtrCast.h
defines a Small helper function that allows the cast from void * to function pointer
ModuleInfo.h
OS specific details to access at run-time the module configuration of the process.
Elements::System::getThisModuleInfo
static const ModuleInfo & getThisModuleInfo()
Definition: ThisModule.h:35
ELEMENTS_API
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition: Export.h:74
Elements::System::ModuleInfo
Definition: ModuleInfo.h:45
Elements::System::getThisExecutableInfo
const ELEMENTS_API ModuleInfo & getThisExecutableInfo()
Definition: ThisModule.cpp:34
Elements::System::ModuleInfo::isEmpty
bool isEmpty() const
Definition: ModuleInfo.cpp:84
Elements
Definition: Auxiliary.h:43
Elements::System::InfoType::System
@ System