Skip to content
This repository has been archived by the owner on Dec 12, 2024. It is now read-only.

prozolic/nandemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. nandemo(文字列変換ライブラリ)

MIT License

1.1. nandemoとは

nandemoは, C++のオブジェクトを文字列に変換するライブラリです。

  • 数値を文字列に変換(2進数 10進数 16進数)
  • 論理型(bool)から文字列に変換
  • クラス(class), 構造体(struct)から文字列に変換
  • カスタム文字列を返す拡張も可能

1.2. 特徴

  • C++17以上
  • シングルヘッダーオンリー
  • MIT License

1.3. 利用方法

最新版のnandemo.hをダウンロードすることで利用可能です。

1.4. サンプル

1.4.1. 数値型, 論理型, 文字列型

// 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"

1.4.2. 数値型 -> 2進数 or 10進数 or 16進数

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

1.4.3. 数値型 -> 2進数 or 10進数 or 16進数("0"文字補完)

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

1.4.4. クラス, 構造体

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"

1.4.5. カスタム文字列

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."

1.5. 実行確認コンパイラ

  • gcc 10.1.0
  • clang 10.0.0

1.6. テスト

テストソースはtest.cppを参照してください。
テストには、Catchライブラリを使用しています。

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages