2020-10-16 00:22:03 +08:00
|
|
|
#pragma once
|
|
|
|
|
2020-10-16 20:49:26 +08:00
|
|
|
#include <iomanip>
|
2020-10-16 00:22:03 +08:00
|
|
|
#include <memory>
|
|
|
|
#include <mutex>
|
|
|
|
|
2021-01-04 21:26:09 +08:00
|
|
|
// format timestamp
|
2021-01-05 02:09:40 +08:00
|
|
|
#define FMT_TIMESTAMP(timestamp) std::fixed << std::setprecision(3) << timestamp
|
2020-10-16 20:49:26 +08:00
|
|
|
|
2020-10-16 18:08:31 +08:00
|
|
|
#define DISALLOW_COPY_AND_ASSIGN(classname) \
|
|
|
|
classname(const classname &) = delete; \
|
|
|
|
classname &operator=(const classname &) = delete;
|
|
|
|
|
2021-01-04 21:26:09 +08:00
|
|
|
// adapted form baidu apollo cyber/common/macros.h
|
2021-02-27 17:55:29 +08:00
|
|
|
#define DECLARE_SINGLETON(classname) \
|
|
|
|
public: \
|
|
|
|
static classname *Instance() { \
|
|
|
|
static classname instance; \
|
|
|
|
return &instance; \
|
|
|
|
} \
|
|
|
|
\
|
|
|
|
private: \
|
|
|
|
classname() = default; \
|
2020-10-16 18:08:31 +08:00
|
|
|
DISALLOW_COPY_AND_ASSIGN(classname)
|