From e62817b8252974b8a98393275874ee303840bf13 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Fri, 12 May 2017 18:49:50 +0500 Subject: 2017-05-12 --- depedencies/include/glm/gtx/string_cast.inl | 458 ++++++++++++++++++++++++++++ 1 file changed, 458 insertions(+) create mode 100644 depedencies/include/glm/gtx/string_cast.inl (limited to 'depedencies/include/glm/gtx/string_cast.inl') diff --git a/depedencies/include/glm/gtx/string_cast.inl b/depedencies/include/glm/gtx/string_cast.inl new file mode 100644 index 0000000..19f136b --- /dev/null +++ b/depedencies/include/glm/gtx/string_cast.inl @@ -0,0 +1,458 @@ +/// @ref gtx_string_cast +/// @file glm/gtx/string_cast.inl + +#include +#include + +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER std::string format(const char* msg, ...) + { + std::size_t const STRING_BUFFER(4096); + char text[STRING_BUFFER]; + va_list list; + + if(msg == 0) + return std::string(); + + va_start(list, msg); +# if(GLM_COMPILER & GLM_COMPILER_VC) + vsprintf_s(text, STRING_BUFFER, msg, list); +# else// + vsprintf(text, msg, list); +# endif// + va_end(list); + + return std::string(text); + } + + static const char* LabelTrue = "true"; + static const char* LabelFalse = "false"; + + template + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%d";}; + }; + + template + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%f";}; + }; + +# if GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC + template <> + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%lld";}; + }; + + template <> + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%lld";}; + }; +# endif//GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC + + template + struct prefix{}; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "d";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "b";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u8";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i8";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u16";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i16";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u64";}; + }; + + template <> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i64";}; + }; + + template