oh_my_loam/common/macro/macros.h

25 lines
756 B
C++

#pragma once
#include <iomanip>
#include <memory>
#include <mutex>
// format timestamp
#define FMT_TIMESTAMP(timestamp) std::fixed << std::setprecision(3) << timestamp
#define DISALLOW_COPY_AND_ASSIGN(classname) \
classname(const classname &) = delete; \
classname &operator=(const classname &) = delete;
// adapted form baidu apollo cyber/common/macros.h
#define DECLARE_SINGLETON(classname) \
public: \
static classname *Instance() { \
static classname instance; \
return &instance; \
} \
\
private: \
classname(); \
DISALLOW_COPY_AND_ASSIGN(classname)