9 #ifndef _TurtleBrains_String_h_
10 #define _TurtleBrains_String_h_
12 #include "tb_configuration.h"
28 #define tb_string(object) TurtleBrains::Core::ToString((object))
50 template <
typename T> std::string
ToStdString(
const T&
object)
80 std::ostringstream stream;
81 const std::ctype<char>& ctfacet = std::use_facet< std::ctype<char> >(stream.getloc());
82 for (
size_t i = 0; i <
object.size(); ++i)
84 stream << static_cast<char>(ctfacet.narrow(static_cast<char>(
object[i]),
'?'));
115 tb_error_if(
true == input.empty(),
"Invalid value for parameter: input, expected valid, non-empty, string.");
117 std::stringstream ss(input);
135 return FromStdString<T>(input);
155 std::wstringstream wss;
182 std::wostringstream stream;
183 const std::ctype<wchar_t>& ctfacet = std::use_facet< std::ctype<wchar_t> >(stream.getloc());
184 for (
size_t i = 0; i <
object.size(); ++i)
186 stream << ctfacet.widen(
object[i]);
217 tb_error_if(
true == input.empty(),
"Invalid value for parameter: input, expected valid, non-empty, string.");
219 std::wstringstream wss(input);
235 template <
typename T> T
FromString(
const std::wstring& input)
237 return FromWideString<T>(input);
255 #ifdef tb_wide_string
329 template <
typename T> tbString
ToString(
const T&
object)
331 #ifdef tb_wide_string
T FromString(const std::string &input)
Definition: tb_string.h:133
tbString ToString(const T &object)
Definition: tb_string.h:329
std::string ToStdString(const T &object)
Definition: tb_string.h:50
T FromWideString(const std::wstring &input)
Definition: tb_string.h:215
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
T FromStdString(const std::string &input)
Definition: tb_string.h:113
std::wstring ToWideString(const T &object)
Definition: tb_string.h:153
Contains core functionality for each component of the API.
Definition: tb_dynamic_structure.h:21
#define tb_error_if(errorTest, message,...)
Definition: tb_error.h:37
std::string tbString
Definition: tb_string.h:293