/*
 * @Description: 
 * @Version: 1.0
 * @Autor: lishengyin
 * @Date: 2022-04-01 15:14:23
 * @LastEditors: Your Name lishengyin@sz-sunwin.com
 * @LastEditTime: 2022-06-14 22:28:11
 */
#ifndef __ISNS_MODULE_PRIVATE_HPP_
#define __ISNS_MODULE_PRIVATE_HPP_

#include <unistd.h>
#include <atomic>
#include <bitset>
#include <functional>
#include <list>
#include <memory>
#include <string>
#include <thread>
#include <typeinfo>
#include <unordered_map>
#include <utility>
#include <vector>

using namespace std;

namespace ins{

    #define OK 0
    #define ERR -1

    // NonCopyAble
    class NonCopyable {
        protected:
            NonCopyable() {};
            ~NonCopyable() {};

        public:
            NonCopyable(const NonCopyable&) = delete;
            NonCopyable(NonCopyable&&) = delete;
            NonCopyable& operator=(const NonCopyable&) = delete;
            NonCopyable& operator=(NonCopyable&&) = delete;

            static std::string getDataTime(){
                char ctime[80];
                time_t rawtime;
                struct tm *info;
                time(&rawtime);
                info = localtime(&rawtime);
                strftime(ctime, 80, "%Y-%m-%d %H:%M:%S", info);
                std::string DataTime = ctime;
                return DataTime;
            }
    };
};


#endif