All pastes #2123033 Raw Edit

Untitled

public cpp v1 · immutable
#2123033 ·published 2012-03-01 00:11 UTC
rendered paste body
#pragma oncenamespace dg{	class String	{	public:		/************************************************************************/		/* Constructors                                                         */		/************************************************************************/		String();		String(char ansiChar, const std::locale& locale = std::locale());		String(const char* ansiString, const std::locale& locale = std::locale());		String(const std::string& ansiString, const std::locale& locale = std::locale());		String(wchar_t wideChar);		String(const wchar_t* wideString);		String(const std::wstring& wideString);		String(uint32_t utf32Char);		String(const uint32_t* utf32String);		String(const std::basic_string<uint32_t>& utf32String);		/************************************************************************/		/* Conversions                                                          */		/************************************************************************/		std::string ToAnsiString(const std::locale& locale = std::locale()) const;		operator std::string() const;		std::wstring ToWideString() const;		operator std::wstring() const;		/************************************************************************/		/* Operator overloads                                                   */		/************************************************************************/		String& operator =(const String& right);		String& operator +=(const String& right);		uint32_t operator [](std::size_t index) const;		uint32_t& operator [](std::size_t index);		/************************************************************************/		/* Member functions                                                     */		/************************************************************************/		void Clear();		std::size_t GetSize() const;		bool IsEmpty() const;		void Erase(std::size_t position, std::size_t count = 1);		void Insert(std::size_t position, const String& str);		std::size_t Find(const String& str, std::size_t start = 0) const;		const uint32_t* GetData() const;		/************************************************************************/		/* Iteration                                                            */		/************************************************************************/		typedef std::basic_string<uint32_t>::iterator Iterator;		Iterator Begin();		Iterator End();		typedef std::basic_string<uint32_t>::const_iterator ConstIterator;		ConstIterator Begin() const;		ConstIterator End() const;		/************************************************************************/		/* Constants                                                             */		/************************************************************************/		static const std::size_t InvalidPos;	private:		std::basic_string<uint32_t> _data;	};	/************************************************************************/	/* Comparison operators                                                 */	/************************************************************************/	bool operator ==(const String& left, const String& right);	bool operator !=(const String& left, const String& right);	bool operator <(const String& left, const String& right);	bool operator >(const String& left, const String& right);	bool operator <=(const String& left, const String& right);	bool operator >=(const String& left, const String& right);	String operator +(const String& left, const String& right);}