BaseManager.h 1.11 KB
/***
 * @Description: 单例基类
 * @Author: jizhou
 * @Date: 2023-07-13 18:38:58
 * @LastEditors: jizhou
 * @LastEditTime: 2023-07-16 23:43:02
 * @FilePath: /EnvironmentAccess/src/manager/BaseManager.h
 */
#ifndef FAST_DDS_GENERATED__BaseManager
#define FAST_DDS_GENERATED__BaseManager

template<class T>
class BaseManager {
public:
    /***
     * @brief: 默认构造函数
     * @return {*}
     */
    BaseManager() = default;
    /***
     * @brief: 默认析构函数
     * @return {*}
     */
    virtual ~BaseManager() = default;
    /***
     * @brief: 移动构造函数
     * @return {*}
     */
    BaseManager(T&&) = delete;
    /***
     * @brief: 赋值构造函数
     * @return {*}
     */
    BaseManager &operator=(const T&) = delete;
    /***
     * @brief: 拷贝构造函数
     * @return {*}
     */
    BaseManager(const T&) = delete;
    /***
     * @brief: 接引用函数
     * @return {*}
     */
    T* operator&() = delete;
    /***
     * @brief: 对外获取单例接口
     * @return {*}
     */
    static T& getInstance() {
        static T instance;
        return instance;
    }
};

#endif