summaryrefslogtreecommitdiff
path: root/Source/Asura.Engine/Containers
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Asura.Engine/Containers')
-rw-r--r--Source/Asura.Engine/Containers/Map.cpp0
-rw-r--r--Source/Asura.Engine/Containers/Map.h17
-rw-r--r--Source/Asura.Engine/Containers/Stack.cpp0
-rw-r--r--Source/Asura.Engine/Containers/Stack.h0
-rw-r--r--Source/Asura.Engine/Containers/String.cpp0
-rw-r--r--Source/Asura.Engine/Containers/String.h78
-rw-r--r--Source/Asura.Engine/Containers/StringMap.cpp0
-rw-r--r--Source/Asura.Engine/Containers/StringMap.hpp32
-rw-r--r--Source/Asura.Engine/Containers/UnorderedMap.hpp0
-rw-r--r--Source/Asura.Engine/Containers/Vector.hpp16
10 files changed, 143 insertions, 0 deletions
diff --git a/Source/Asura.Engine/Containers/Map.cpp b/Source/Asura.Engine/Containers/Map.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Engine/Containers/Map.cpp
diff --git a/Source/Asura.Engine/Containers/Map.h b/Source/Asura.Engine/Containers/Map.h
new file mode 100644
index 0000000..2caedef
--- /dev/null
+++ b/Source/Asura.Engine/Containers/Map.h
@@ -0,0 +1,17 @@
+#ifndef __AE_MAP_H__
+#define __AE_MAP_H__
+
+#include <map>
+
+namespace AsuraEngine
+{
+ namespace Containers
+ {
+
+ template<typename key_type, typename value_type>
+ using Map = std::map<key_type, value_type>;
+
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Source/Asura.Engine/Containers/Stack.cpp b/Source/Asura.Engine/Containers/Stack.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Engine/Containers/Stack.cpp
diff --git a/Source/Asura.Engine/Containers/Stack.h b/Source/Asura.Engine/Containers/Stack.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Engine/Containers/Stack.h
diff --git a/Source/Asura.Engine/Containers/String.cpp b/Source/Asura.Engine/Containers/String.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Engine/Containers/String.cpp
diff --git a/Source/Asura.Engine/Containers/String.h b/Source/Asura.Engine/Containers/String.h
new file mode 100644
index 0000000..3c806fb
--- /dev/null
+++ b/Source/Asura.Engine/Containers/String.h
@@ -0,0 +1,78 @@
+#ifndef __AE_STRING_H__
+#define __AE_STRING_H__
+
+#include <string>
+
+namespace AsuraEngine
+{
+ namespace Containers
+ {
+
+ ///
+ /// װstd::string
+ ///
+ class String : public std::string
+ {
+ public:
+ inline String()
+ : std::string()
+ {
+ }
+
+ inline String(const std::string& str)
+ : std::string(str)
+ {
+ }
+
+ inline String(const String& str)
+ : std::string(str)
+ {
+ }
+
+ inline String(const char* str)
+ : std::string(str)
+ {
+ }
+
+ inline String& operator = (const String& str)
+ {
+ std::string::operator=(str);
+ return *this;
+ }
+
+ inline operator const char* () const
+ {
+ return this->c_str();
+ }
+
+ inline const char* str() const
+ {
+ return this->c_str();
+ }
+
+ inline String(const String& s2, size_type pos2, size_type len2)
+ : std::string(s2, pos2, len2)
+ {
+ }
+
+ inline String(const char* buf, size_type bufsize)
+ : std::string(buf, bufsize)
+ {
+ }
+
+ inline String(size_type repetitions, char c)
+ : std::string(repetitions, c)
+ {
+ }
+
+ inline int length() const
+ {
+ return size();
+ }
+
+ };
+
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Source/Asura.Engine/Containers/StringMap.cpp b/Source/Asura.Engine/Containers/StringMap.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Engine/Containers/StringMap.cpp
diff --git a/Source/Asura.Engine/Containers/StringMap.hpp b/Source/Asura.Engine/Containers/StringMap.hpp
new file mode 100644
index 0000000..94858a7
--- /dev/null
+++ b/Source/Asura.Engine/Containers/StringMap.hpp
@@ -0,0 +1,32 @@
+#ifndef __AE_STRINGMAP_H__
+#define __AE_STRINGMAP_H__
+
+#include "String.h"
+
+namespace AsuraEngine
+{
+ namespace Containers
+ {
+
+ ///
+ /// һ˫һһӦӳ䣬shader uniformsstatemathine state parameterID
+ ///
+ template<typename key_type>
+ class StringMap
+ {
+ public:
+
+ bool ContainsKey(const key_type& key);
+
+ bool ContainsString(const String& str);
+
+ String GetStringByKey(const key_type& key);
+
+ key_type GetKeyByString(const String& str);
+
+ };
+
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Source/Asura.Engine/Containers/UnorderedMap.hpp b/Source/Asura.Engine/Containers/UnorderedMap.hpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Engine/Containers/UnorderedMap.hpp
diff --git a/Source/Asura.Engine/Containers/Vector.hpp b/Source/Asura.Engine/Containers/Vector.hpp
new file mode 100644
index 0000000..9fbd52a
--- /dev/null
+++ b/Source/Asura.Engine/Containers/Vector.hpp
@@ -0,0 +1,16 @@
+#ifndef __AE_VECTOR_HPP__
+#define __AE_VECTOR_HPP__
+
+#include <vector>
+
+namespace AsuraEngine
+{
+ namespace Containers
+ {
+ template<typename T>
+ using Vector = std::vector<T>;
+
+ }
+}
+
+#endif \ No newline at end of file