Apollo  6.0
Open source self driving car software
Namespaces | Macros | Functions
macros.h File Reference
#include <cstddef>
Include dependency graph for macros.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 apollo
 PlanningContext is the runtime context in planning. It is persistent across multiple frames.
 

Macros

#define DISABLE_COPY(TypeName)   TypeName(const TypeName &) = delete
 
#define DISABLE_ASSIGN(TypeName)   void operator=(const TypeName &) = delete
 
#define DISABLE_COPY_AND_ASSIGN(TypeName)
 
#define DISABLE_IMPLICIT_CONSTRUCTORS(TypeName)
 
#define MAKE_SINGLETON(TypeName)
 

Functions

template<class T , size_t N>
constexpr size_t apollo::array_size (T(&)[N])
 

Macro Definition Documentation

◆ DISABLE_ASSIGN

#define DISABLE_ASSIGN (   TypeName)    void operator=(const TypeName &) = delete

◆ DISABLE_COPY

#define DISABLE_COPY (   TypeName)    TypeName(const TypeName &) = delete

◆ DISABLE_COPY_AND_ASSIGN

#define DISABLE_COPY_AND_ASSIGN (   TypeName)
Value:
DISABLE_COPY(TypeName); \
DISABLE_ASSIGN(TypeName)
#define DISABLE_COPY(TypeName)
Definition: macros.h:25

◆ DISABLE_IMPLICIT_CONSTRUCTORS

#define DISABLE_IMPLICIT_CONSTRUCTORS (   TypeName)
Value:
TypeName() = delete; \
DISABLE_COPY_AND_ASSIGN(TypeName)

◆ MAKE_SINGLETON

#define MAKE_SINGLETON (   TypeName)
Value:
public: \
static TypeName *Instance() { \
static TypeName Instance; \
return &Instance; \
} \
\
private: \
DISABLE_COPY_AND_ASSIGN(TypeName)