From fc1713e9df3ae8db6e612610023e7bd5f6b6f5fe Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 30 Jan 2019 23:09:54 +0800 Subject: *misc --- Source/Asura.Engine/String.h | 75 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Source/Asura.Engine/String.h (limited to 'Source/Asura.Engine/String.h') diff --git a/Source/Asura.Engine/String.h b/Source/Asura.Engine/String.h new file mode 100644 index 0000000..6d0ec3a --- /dev/null +++ b/Source/Asura.Engine/String.h @@ -0,0 +1,75 @@ +#ifndef __ASURA_ENGINE_STRING_H__ +#define __ASURA_ENGINE_STRING_H__ + +#include + +namespace AsuraEngine +{ + + /// + /// ·ā×°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 -- cgit v1.1-26-g67d0