Apollo  6.0
Open source self driving car software
Macros
class_loader_register_macro.h File Reference
#include "cyber/class_loader/utility/class_loader_utility.h"
Include dependency graph for class_loader_register_macro.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CLASS_LOADER_REGISTER_CLASS_INTERNAL(Derived, Base, UniqueID)
 
#define CLASS_LOADER_REGISTER_CLASS_INTERNAL_1(Derived, Base, UniqueID)   CLASS_LOADER_REGISTER_CLASS_INTERNAL(Derived, Base, UniqueID)
 
#define CLASS_LOADER_REGISTER_CLASS(Derived, Base)   CLASS_LOADER_REGISTER_CLASS_INTERNAL_1(Derived, Base, __COUNTER__)
 

Macro Definition Documentation

◆ CLASS_LOADER_REGISTER_CLASS

#define CLASS_LOADER_REGISTER_CLASS (   Derived,
  Base 
)    CLASS_LOADER_REGISTER_CLASS_INTERNAL_1(Derived, Base, __COUNTER__)

◆ CLASS_LOADER_REGISTER_CLASS_INTERNAL

#define CLASS_LOADER_REGISTER_CLASS_INTERNAL (   Derived,
  Base,
  UniqueID 
)
Value:
namespace { \
struct ProxyType##UniqueID { \
ProxyType##UniqueID() { \
apollo::cyber::class_loader::utility::RegisterClass<Derived, Base>( \
#Derived, #Base); \
} \
}; \
static ProxyType##UniqueID g_register_class_##UniqueID; \
}

◆ CLASS_LOADER_REGISTER_CLASS_INTERNAL_1

#define CLASS_LOADER_REGISTER_CLASS_INTERNAL_1 (   Derived,
  Base,
  UniqueID 
)    CLASS_LOADER_REGISTER_CLASS_INTERNAL(Derived, Base, UniqueID)