mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com> Co-authored-by: Bart <bthomee@users.noreply.github.com>
46 lines
693 B
C++
46 lines
693 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <type_traits>
|
|
|
|
namespace xrpl {
|
|
|
|
/** to_string() generalizes std::to_string to handle bools, chars, and strings.
|
|
|
|
It's also possible to provide implementation of to_string for a class
|
|
which needs a string implementation.
|
|
*/
|
|
|
|
template <class T>
|
|
std::enable_if_t<std::is_arithmetic_v<T>, std::string>
|
|
to_string(T t)
|
|
{
|
|
return std::to_string(t);
|
|
}
|
|
|
|
inline std::string
|
|
to_string(bool b)
|
|
{
|
|
return b ? "true" : "false";
|
|
}
|
|
|
|
inline std::string
|
|
to_string(char c)
|
|
{
|
|
return std::string(1, c);
|
|
}
|
|
|
|
inline std::string
|
|
to_string(std::string s)
|
|
{
|
|
return s;
|
|
}
|
|
|
|
inline std::string
|
|
to_string(char const* s)
|
|
{
|
|
return s;
|
|
}
|
|
|
|
} // namespace xrpl
|