diff options
Diffstat (limited to 'src/libjin/common')
-rw-r--r-- | src/libjin/common/je_exception.h | 5 | ||||
-rw-r--r-- | src/libjin/common/je_noncopyable.h | 4 | ||||
-rw-r--r-- | src/libjin/common/je_object.h | 4 | ||||
-rw-r--r-- | src/libjin/common/je_pool.hpp | 4 | ||||
-rw-r--r-- | src/libjin/common/je_singleton.hpp | 4 | ||||
-rw-r--r-- | src/libjin/common/je_stringmap.hpp | 4 | ||||
-rw-r--r-- | src/libjin/common/je_temporary.h | 4 | ||||
-rw-r--r-- | src/libjin/common/je_utf8.h | 2 |
8 files changed, 21 insertions, 10 deletions
diff --git a/src/libjin/common/je_exception.h b/src/libjin/common/je_exception.h index c319ebd..71caa5a 100644 --- a/src/libjin/common/je_exception.h +++ b/src/libjin/common/je_exception.h @@ -4,16 +4,17 @@ #include <exception> #include <string> +#include "je_object.h" + namespace JinEngine { /// /// Jin Exception. /// - class Exception : public std::exception + class Exception : public Object, public std::exception { public: - /// /// Creates a new Exception according to printf-rules. /// diff --git a/src/libjin/common/je_noncopyable.h b/src/libjin/common/je_noncopyable.h index eff7121..dab74a4 100644 --- a/src/libjin/common/je_noncopyable.h +++ b/src/libjin/common/je_noncopyable.h @@ -1,13 +1,15 @@ #ifndef __JE_NONCOPYABLE_H__ #define __JE_NONCOPYABLE_H__ +#include "je_object.h" + namespace JinEngine { /// /// Class inherites this could not be copied. /// - class Noncopyable + class Noncopyable : public Object { public: Noncopyable(void) { } diff --git a/src/libjin/common/je_object.h b/src/libjin/common/je_object.h index fb8221f..677b474 100644 --- a/src/libjin/common/je_object.h +++ b/src/libjin/common/je_object.h @@ -5,10 +5,12 @@ namespace JinEngine { /// - /// Base class of all objects in Jin. + /// Base class of all classes in libjin. /// class Object { + public: + virtual ~Object() {}; }; } // namespace JinEngine diff --git a/src/libjin/common/je_pool.hpp b/src/libjin/common/je_pool.hpp index cb96c5b..0758b97 100644 --- a/src/libjin/common/je_pool.hpp +++ b/src/libjin/common/je_pool.hpp @@ -12,7 +12,7 @@ namespace JinEngine { - class DefaultMemoryAllocator + class DefaultMemoryAllocator : public Object { public: static inline void *Allocate(size_t size) @@ -26,7 +26,7 @@ namespace JinEngine }; template<typename T, class TMemoryAllocator = DefaultMemoryAllocator> - class Pool + class Pool : public Object { private: struct _Node diff --git a/src/libjin/common/je_singleton.hpp b/src/libjin/common/je_singleton.hpp index 2f387df..ba13b80 100644 --- a/src/libjin/common/je_singleton.hpp +++ b/src/libjin/common/je_singleton.hpp @@ -1,6 +1,8 @@ #ifndef __JE_SINGLETON_H__ #define __JE_SINGLETON_H__ +#include "je_object.h" + namespace JinEngine { @@ -8,7 +10,7 @@ namespace JinEngine /// Singleton base class. /// template<class T> - class Singleton + class Singleton : public Object { public: /// diff --git a/src/libjin/common/je_stringmap.hpp b/src/libjin/common/je_stringmap.hpp index 7a3bd80..b4cdccf 100644 --- a/src/libjin/common/je_stringmap.hpp +++ b/src/libjin/common/je_stringmap.hpp @@ -1,11 +1,13 @@ #ifndef __JE_COMMON_SREINGMAP_H__ #define __JE_COMMON_SREINGMAP_H__ +#include "je_object.h" + namespace JinEngine { template<typename T, unsigned SIZE> - class StringMap + class StringMap : public Object { private: diff --git a/src/libjin/common/je_temporary.h b/src/libjin/common/je_temporary.h index 647bfba..b89a601 100644 --- a/src/libjin/common/je_temporary.h +++ b/src/libjin/common/je_temporary.h @@ -1,13 +1,15 @@ #ifndef __JE_TEMPORARY_H__ #define __JE_TEMPORARY_H__ +#include "je_object.h" + namespace JinEngine { /// /// Class inherites this clound only be created on stack or static zone. /// - class Temporary + class Temporary : public Object { public: Temporary() {}; diff --git a/src/libjin/common/je_utf8.h b/src/libjin/common/je_utf8.h index d840b75..a720640 100644 --- a/src/libjin/common/je_utf8.h +++ b/src/libjin/common/je_utf8.h @@ -31,4 +31,4 @@ namespace JinEngine #endif // jin_os == jin_os_windows -#endif // __JE_COMMON_UTF8_H__ +#endif // __JE_COMMON_UTF8_H__
\ No newline at end of file |