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.h22
-rw-r--r--src/libjin/Common/je_noncopyable.h24
-rw-r--r--src/libjin/Common/je_object.h16
-rw-r--r--src/libjin/Common/je_pool.hpp11
-rw-r--r--src/libjin/Common/je_temporary.h31
5 files changed, 104 insertions, 0 deletions
diff --git a/src/libjin/Common/je_exception.h b/src/libjin/Common/je_exception.h
index e69de29..7c66af8 100644
--- a/src/libjin/Common/je_exception.h
+++ b/src/libjin/Common/je_exception.h
@@ -0,0 +1,22 @@
+#ifndef __JE_EXCEPTION_H
+#define __JE_EXCEPTION_H
+
+#include <exception>
+
+namespace JinEngine
+{
+
+ ///
+ /// Built-in exception class.
+ ///
+ class JinException : public std::exception
+ {
+ public:
+ JinException();
+ const char* what() const throw();
+
+ };
+
+} // namespace JinEngine
+
+#endif \ No newline at end of file
diff --git a/src/libjin/Common/je_noncopyable.h b/src/libjin/Common/je_noncopyable.h
new file mode 100644
index 0000000..89a3e68
--- /dev/null
+++ b/src/libjin/Common/je_noncopyable.h
@@ -0,0 +1,24 @@
+#ifndef __JE_NONCOPYABLE_H
+#define __JE_NONCOPYABLE_H
+
+namespace JinEngine
+{
+
+ ///
+ /// Class inherites this could not be copied.
+ ///
+ class Noncopyable
+ {
+ public:
+ Noncopyable(void) { }
+ virtual ~Noncopyable(void) { }
+
+ private:
+ Noncopyable(const Noncopyable& other);
+ Noncopyable& operator=(const Noncopyable& other);
+
+ };
+
+} // namespace JinEngine
+
+#endif \ No newline at end of file
diff --git a/src/libjin/Common/je_object.h b/src/libjin/Common/je_object.h
new file mode 100644
index 0000000..c256879
--- /dev/null
+++ b/src/libjin/Common/je_object.h
@@ -0,0 +1,16 @@
+#ifndef __JE_OBJECT_H
+#define __JE_OBJECT_H
+
+namespace JinEngine
+{
+
+ ///
+ /// Base class of all objects in Jin.
+ ///
+ class Object
+ {
+ };
+
+} // namespace JinEngine
+
+#endif \ No newline at end of file
diff --git a/src/libjin/Common/je_pool.hpp b/src/libjin/Common/je_pool.hpp
new file mode 100644
index 0000000..1107fd5
--- /dev/null
+++ b/src/libjin/Common/je_pool.hpp
@@ -0,0 +1,11 @@
+#ifndef __JE_POOL_H
+#define __JE_POOL_H
+
+namespace JinEngine
+{
+
+
+
+}
+
+#endif \ No newline at end of file
diff --git a/src/libjin/Common/je_temporary.h b/src/libjin/Common/je_temporary.h
new file mode 100644
index 0000000..5af8704
--- /dev/null
+++ b/src/libjin/Common/je_temporary.h
@@ -0,0 +1,31 @@
+#ifndef __JE_ON_STACK_H
+#define __JE_ON_STACK_H
+
+namespace JinEngine
+{
+
+ ///
+ /// Class inherites this clound only be created on stack or static zone.
+ ///
+ class Temporary
+ {
+ public:
+ Temporary() {};
+ virtual ~Temporary() {};
+/*
+ protected:
+ void operator delete(void* t)
+ {
+ if(t != nullptr)
+ free(t);
+ }
+*/
+ private:
+ // Disable new operands.
+ void* operator new(size_t);
+
+ };
+
+} // namespace JinEngine
+
+#endif \ No newline at end of file