#ifndef __CODE_COMMON_H__
#define __CODE_COMMON_H__


#define DECLARE_SINGLETON_CLASS(className) \
        public:\
            static className& GetInstance();\
        private:\
            className();\
            ~className();

#define GET_SINGLETON_INSTANCE(className)  className::GetInstance()

#define IMPLEMENT_GETINSTANCE(className) \
        className& className::GetInstance() \
        {\
            static className s_Instance;\
            return s_Instance;\
        }


#endif // __CODE_COMMON_H__
