nandemoは, C++のオブジェクトを文字列に変換するライブラリです。
- 数値を文字列に変換(2進数 10進数 16進数)
- 論理型(bool)から文字列に変換
- クラス(class), 構造体(struct)から文字列に変換
- カスタム文字列を返す拡張も可能
- C++17以上
- シングルヘッダーオンリー
- MIT License
最新版のnandemo.hをダウンロードすることで利用可能です。
// integer type
int value{999};
nandemo::to_string(value); // "999"
// float point type
float f_value{1.0f};
nandemo::to_string(f_value); // "1.000000"
// bool type
bool b_value{true};
nandemo::to_string(b_value); // "true"
// char type
char c_value{'n'};
nandemo::to_string(c_value); // "n"
// string type
std::string s_value{"this is string"};
nandemo::to_string(s_value); // "this is string"
// string_view type
std::string_view sv_value{"this is string_view"};
nandemo::to_string(sv_value); // "this is string_view"
int value{123};
nandemo::to_string_numeric<nandemo::base::decimal>(value); // 123
nandemo::to_string_decimal(value); // 123
nandemo::to_string_numeric<nandemo::base::binary>(value); // 00000000000000000000000001111011
nandemo::to_string_binary(value); // 00000000000000000000000001111011
nandemo::to_string_numeric<nandemo::base::hex>(value); // 7b
nandemo::to_string_hex(value); // 7b
int value{123};
nandemo::to_string_numeric<nandemo::base::decimal,5>(value); // 00123
nandemo::to_string_decimal<5>(value); // 00123
nandemo::to_string_numeric<nandemo::base::hex,5>(value); // 0007b
nandemo::to_string_hex<5>(value); // 0007b
class test_class{};
struct test_struct{};
test_class c_value;
std::string result = nandemo::to_string(c_value); // "test_class"
test_struct s_value;
std::string result = nandemo::to_string(s_value); // "test_struct"
class test_class
{
public:
std::string to_string() const
{
return "this is test_class.";
}
};
test_class c_value;
std::string result = nandemo::to_string(c_value); // "this is test_class."
- gcc 10.1.0
- clang 10.0.0