aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/common')
-rw-r--r--src/libjin/common/je_exception.h5
-rw-r--r--src/libjin/common/je_noncopyable.h4
-rw-r--r--src/libjin/common/je_object.h4
-rw-r--r--src/libjin/common/je_pool.hpp4
-rw-r--r--src/libjin/common/je_singleton.hpp4
-rw-r--r--src/libjin/common/je_stringmap.hpp4
-rw-r--r--src/libjin/common/je_temporary.h4
-rw-r--r--src/libjin/common/je_utf8.h2
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