diff options
author | chai <chaifix@163.com> | 2019-01-19 01:44:05 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-01-19 01:44:05 +0800 |
commit | 91e589d1678a8187c307e09b98b67ec4133092ff (patch) | |
tree | ee2761f047568ca7164b27399c0b2fb2f21c26b0 /Source/Asura.Engine/Containers | |
parent | 91346d709abb37a063d0c29ddeb2d1a849d3afc2 (diff) |
*游戏框架改用脚本实现
Diffstat (limited to 'Source/Asura.Engine/Containers')
-rw-r--r-- | Source/Asura.Engine/Containers/Map.cpp | 0 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/Map.h | 17 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/Stack.cpp | 0 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/Stack.h | 0 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/String.cpp | 0 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/String.h | 78 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/StringMap.cpp | 0 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/StringMap.hpp | 32 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/UnorderedMap.hpp | 0 | ||||
-rw-r--r-- | Source/Asura.Engine/Containers/Vector.hpp | 16 |
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 |