diff --git a/src/strutils.cpp b/src/strutils.cpp index 6e4c4e1..0ccee4e 100644 --- a/src/strutils.cpp +++ b/src/strutils.cpp @@ -5,6 +5,20 @@ #include namespace cpputils { +std::string toString(bool val) { return val ? "true" : "false"; } +std::string toString(int8_t val) { return std::to_string(val); } +std::string toString(uint8_t val) { return std::to_string(val); } +std::string toString(int16_t val) { return std::to_string(val); } +std::string toString(uint16_t val) { return std::to_string(val); } +std::string toString(int32_t val) { return std::to_string(val); } +std::string toString(uint32_t val) { return std::to_string(val); } +std::string toString(int64_t val) { return std::to_string(val); } +std::string toString(uint64_t val) { return std::to_string(val); } +std::string toString(float val) { return std::to_string(val); } +std::string toString(double val) { return std::to_string(val); } +std::string toString(const std::string &val) { return val; } +std::string toString(std::optional val) { if (val) return toString(*val); else return {}; } + bool stringEqualsIgnoreCase(std::string_view a, std::string_view b) { return a == b; // HACK for now... diff --git a/src/strutils.h b/src/strutils.h index 599fa26..ee840ce 100644 --- a/src/strutils.h +++ b/src/strutils.h @@ -1,8 +1,25 @@ #pragma once +// system includes +#include +#include #include namespace cpputils { +std::string toString(bool val); +std::string toString(int8_t val); +std::string toString(uint8_t val); +std::string toString(int16_t val); +std::string toString(uint16_t val); +std::string toString(int32_t val); +std::string toString(uint32_t val); +std::string toString(int64_t val); +std::string toString(uint64_t val); +std::string toString(float val); +std::string toString(double val); +std::string toString(const std::string &val); +std::string toString(std::optional val); + bool stringEqualsIgnoreCase(std::string_view a, std::string_view b); bool stringStartsWith(std::string_view fullString, std::string_view begin); bool stringEndsWith(std::string_view fullString, std::string_view ending);