GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
designlab::CmdIOUtil クラスfinal

標準入出力の std::cout,std::cinを使った コマンドライン入出力を行うシングルトンクラス. [詳解]

#include <cmdio_util.h>

公開メンバ関数

 CmdIOUtil ()=delete
 インスタンス化させない.
 
 CmdIOUtil (const CmdIOUtil &)=delete
 コピーコンストラクタを禁止.
 
CmdIOUtiloperator= (const CmdIOUtil &)=delete
 コピー代入演算子を禁止.
 
 CmdIOUtil (CmdIOUtil &&)=delete
 ムーブコンストラクタを禁止.
 

静的公開メンバ関数

static void SetOutputLimit (OutputDetail limit)
 出力するメッセージをどこまで許可するかを設定する関数.
この関数を呼び出してから出ないと,他の関数を使えない.
例えば kError に設定すると,kError 未満の出力( kInfo とか kDebug とかはされない.
逆に kDebug に設定すると,すべての出力がされる.
1度呼び出したら,プログラム終了まで設定は有効となる.
 
static void DoOutput (bool do_output)
 そもそも出力をするかを設定する関数.
false に設定しても システムメッセージは出力される.
 
static void Output (const std::string &str, OutputDetail detail)
 コマンドラインに文字を出力する関数.
SetOutputLimit() で設定した出力の許可範囲内であれば出力される.
必ず SetOutputLimit() を呼び出してから使うこと.
 
static void DebugOutput (const std::string &str)
 コマンドラインに文字を出力する関数.Debug用の出力.
 
static void InfoOutput (const std::string &str)
 コマンドラインに文字を出力する関数.Info用の出力.
 
static void WarningOutput (const std::string &str)
 コマンドラインに文字を出力する関数.Warning用の出力.
 
static void ErrorOutput (const std::string &str)
 コマンドラインに文字を出力する関数.Error用の出力.
 
static void SystemOutput (const std::string &str)
 コマンドラインに文字を出力する関数.System用の出力.
 
template<typename... Args>
static void FormatOutput (OutputDetail detail, const std::format_string< Args... > str, Args &&... args)
 コマンドラインに文字を出力する関数.
SetOutputLimit() で設定した出力の許可範囲内であれば出力される.
必ず SetOutputLimit() を呼び出してから使うこと.
 
template<typename... Args>
static void SpacedFormatOutput (OutputDetail detail, const std::format_string< Args... > str, Args &&... args)
 コマンドラインに文字を出力する関数.
SetOutputLimit() で設定した出力の許可範囲内であれば出力される.
必ず SetOutputLimit() を呼び出してから使うこと.
 
static void SpacedOutput (const std::string &str, OutputDetail detail)
 コマンドラインに文字を出力する関数.
前と後ろに改行を挿入する.
 
static void OutputCenter (const std::string &str, OutputDetail detail)
 中央に文字を出力する関数. 文字列が長すぎる場合は普通に左詰めで出力される.
 
static void OutputRight (const std::string &str, OutputDetail detail)
 右端に文字を出力する関数. 文字列が長すぎる場合は普通に左詰めで出力される.
 
static void OutputNewLine (int num, OutputDetail detail)
 コマンドラインで改行をする関数.
 
static void OutputHorizontalLine (const std::string &line_visual, OutputDetail detail)
 コマンドラインに水平線を出力する関数.
 
static void OutputTitle (const std::string &title_name, bool output_copy_right=false)
 コマンドラインにこのソフトのタイトルを出力する関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.
 
static void WaitAnyKey (const std::string &str="Waiting for input.")
 入力待ちをする関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.
 
static int InputInt (int min, int max, int default_num, const std::string &str="Please enter an integer.")
 整数を入力させる関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.
 
static bool InputYesNo (const std::string &str="Are you sure?")
 yesかnoを入力させる関数.返り値で yes なら true,noなら falseを返す.
出力される文字列は,必ず OutputDetail::kSystem で出力される.
 
static std::string InputDirName (const std::string &str="Enter a directory name. (Japanese is not recommended).")
 ディレクトリ名を入力させる関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.
ディレクトリ名には次の文字は使えない.
\ / : * ? " < > |
ディレクトリ名は空白を含めることができない.
 

詳解

標準入出力の std::cout,std::cinを使った コマンドライン入出力を行うシングルトンクラス.

シングルトンクラスのため,インスタンス化はできない.実行時には,以下のように使う.

// 出力の許可範囲を設定
// 出力を行うかどうかを設定
// 出力
static void Output(const std::string &str, OutputDetail detail)
コマンドラインに文字を出力する関数. SetOutputLimit() で設定した出力の許可範囲内であれば出力される. 必ず SetOutputLimit() を呼び出してから使うこと.
static void DoOutput(bool do_output)
そもそも出力をするかを設定する関数. false に設定しても システムメッセージは出力される.
static void SetOutputLimit(OutputDetail limit)
出力するメッセージをどこまで許可するかを設定する関数. この関数を呼び出してから出ないと,他の関数を使えない. 例えば kError に設定すると,kError 未満の出力( kInfo とか ...
@ kInfo
優先度低めの情報.
@ kDebug
デバッグ時のみ出力,一番優先度が低い.

cmdio_util.h45 行目に定義があります。

構築子と解体子

◆ CmdIOUtil() [1/3]

designlab::CmdIOUtil::CmdIOUtil ( )
delete

インスタンス化させない.

◆ CmdIOUtil() [2/3]

designlab::CmdIOUtil::CmdIOUtil ( const CmdIOUtil )
delete

コピーコンストラクタを禁止.

◆ CmdIOUtil() [3/3]

designlab::CmdIOUtil::CmdIOUtil ( CmdIOUtil &&  )
delete

ムーブコンストラクタを禁止.

関数詳解

◆ DebugOutput()

static void designlab::CmdIOUtil::DebugOutput ( const std::string &  str)
inlinestatic

コマンドラインに文字を出力する関数.Debug用の出力.

引数
[in]str出力する文字列

cmdio_util.h77 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ DoOutput()

void designlab::CmdIOUtil::DoOutput ( bool  do_output)
static

そもそも出力をするかを設定する関数.
false に設定しても システムメッセージは出力される.

引数
[in]do_output出力をするかどうか

cmdio_util.cpp50 行目に定義があります。

◆ ErrorOutput()

static void designlab::CmdIOUtil::ErrorOutput ( const std::string &  str)
inlinestatic

コマンドラインに文字を出力する関数.Error用の出力.

引数
[in]str出力する文字列

cmdio_util.h98 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ FormatOutput()

template<typename... Args>
static void designlab::CmdIOUtil::FormatOutput ( OutputDetail  detail,
const std::format_string< Args... >  str,
Args &&...  args 
)
inlinestatic

コマンドラインに文字を出力する関数.
SetOutputLimit() で設定した出力の許可範囲内であれば出力される.
必ず SetOutputLimit() を呼び出してから使うこと.

引数
[in]str出力する文字列
[in]detail出力する文字列の詳細
[in]args出力する文字列に埋め込む変数

cmdio_util.h117 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ InfoOutput()

static void designlab::CmdIOUtil::InfoOutput ( const std::string &  str)
inlinestatic

コマンドラインに文字を出力する関数.Info用の出力.

引数
[in]str出力する文字列

cmdio_util.h84 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ InputDirName()

std::string designlab::CmdIOUtil::InputDirName ( const std::string &  str = "Enter a directory name. (Japanese is not recommended).")
static

ディレクトリ名を入力させる関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.
ディレクトリ名には次の文字は使えない.
\ / : * ? " < > |
ディレクトリ名は空白を含めることができない.

引数
[in]str入力待ちをする際に出力する文字列.
戻り値
入力されたディレクトリ名.

cmdio_util.cpp286 行目に定義があります。

呼び出し関係図:

◆ InputInt()

int designlab::CmdIOUtil::InputInt ( int  min,
int  max,
int  default_num,
const std::string &  str = "Please enter an integer." 
)
static

整数を入力させる関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.

引数
[in]min入力する整数の最小値.
[in]max入力する整数の最大値.
[in]default_numデフォルトで入力する整数.
[in]str入力待ちをする際に出力する文字列.
戻り値
入力された整数.

cmdio_util.cpp227 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ InputYesNo()

bool designlab::CmdIOUtil::InputYesNo ( const std::string &  str = "Are you sure?")
static

yesかnoを入力させる関数.返り値で yes なら true,noなら falseを返す.
出力される文字列は,必ず OutputDetail::kSystem で出力される.

引数
[in]str入力待ちをする際に出力する文字列.
戻り値
true入力されたのが yes ならば true.
false入力されたのが no ならば false.

cmdio_util.cpp262 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ operator=()

CmdIOUtil & designlab::CmdIOUtil::operator= ( const CmdIOUtil )
delete

コピー代入演算子を禁止.

◆ Output()

void designlab::CmdIOUtil::Output ( const std::string &  str,
OutputDetail  detail 
)
static

コマンドラインに文字を出力する関数.
SetOutputLimit() で設定した出力の許可範囲内であれば出力される.
必ず SetOutputLimit() を呼び出してから使うこと.

引数
[in]str出力する文字列
[in]detail出力する文字列の詳細

cmdio_util.cpp56 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OutputCenter()

void designlab::CmdIOUtil::OutputCenter ( const std::string &  str,
OutputDetail  detail 
)
static

中央に文字を出力する関数. 文字列が長すぎる場合は普通に左詰めで出力される.

引数
[in]str出力する文字列.
[in]detail出力する文字列の詳細.

cmdio_util.cpp117 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OutputHorizontalLine()

void designlab::CmdIOUtil::OutputHorizontalLine ( const std::string &  line_visual,
OutputDetail  detail 
)
static

コマンドラインに水平線を出力する関数.

引数
[in]line_visual水平線の見た目.'-'ならば水平線,'='ならば二重水平線.
2文字以上の文字列を入れると動作しない.
[in]detail出力する文字列の詳細.

cmdio_util.cpp184 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OutputNewLine()

void designlab::CmdIOUtil::OutputNewLine ( int  num,
OutputDetail  detail 
)
static

コマンドラインで改行をする関数.

引数
[in]num改行する回数.0以下の値を入れると何もしない.
[in]detail出力する文字列の詳細.

cmdio_util.cpp174 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OutputRight()

void designlab::CmdIOUtil::OutputRight ( const std::string &  str,
OutputDetail  detail 
)
static

右端に文字を出力する関数. 文字列が長すぎる場合は普通に左詰めで出力される.

引数
[in]str出力する文字列.
[in]detail出力する文字列の詳細.

cmdio_util.cpp145 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OutputTitle()

void designlab::CmdIOUtil::OutputTitle ( const std::string &  title_name,
bool  output_copy_right = false 
)
static

コマンドラインにこのソフトのタイトルを出力する関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.

引数
[in]str出力する文字列.
[in]output_copy_rightコピーライトを出力するか. (デフォルトでは false )

cmdio_util.cpp198 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ SetOutputLimit()

void designlab::CmdIOUtil::SetOutputLimit ( OutputDetail  limit)
static

出力するメッセージをどこまで許可するかを設定する関数.
この関数を呼び出してから出ないと,他の関数を使えない.
例えば kError に設定すると,kError 未満の出力( kInfo とか kDebug とかはされない.
逆に kDebug に設定すると,すべての出力がされる.
1度呼び出したら,プログラム終了まで設定は有効となる.

引数
[in]limit出力するメッセージをどこまで許可するか

cmdio_util.cpp32 行目に定義があります。

呼び出し関係図:

◆ SpacedFormatOutput()

template<typename... Args>
static void designlab::CmdIOUtil::SpacedFormatOutput ( OutputDetail  detail,
const std::format_string< Args... >  str,
Args &&...  args 
)
inlinestatic

コマンドラインに文字を出力する関数.
SetOutputLimit() で設定した出力の許可範囲内であれば出力される.
必ず SetOutputLimit() を呼び出してから使うこと.

引数
[in]str出力する文字列
[in]detail出力する文字列の詳細
[in]args出力する文字列に埋め込む変数

cmdio_util.h130 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ SpacedOutput()

void designlab::CmdIOUtil::SpacedOutput ( const std::string &  str,
OutputDetail  detail 
)
static

コマンドラインに文字を出力する関数.
前と後ろに改行を挿入する.

引数
[in]str出力する文字列
[in]detail出力する文字列の詳細

cmdio_util.cpp110 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ SystemOutput()

static void designlab::CmdIOUtil::SystemOutput ( const std::string &  str)
inlinestatic

コマンドラインに文字を出力する関数.System用の出力.

引数
[in]str出力する文字列

cmdio_util.h105 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ WaitAnyKey()

void designlab::CmdIOUtil::WaitAnyKey ( const std::string &  str = "Waiting for input.")
static

入力待ちをする関数.
出力される文字列は,必ず OutputDetail::kSystem で出力される.

引数
[in]str入力待ちをする際に出力する文字列.

cmdio_util.cpp219 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ WarningOutput()

static void designlab::CmdIOUtil::WarningOutput ( const std::string &  str)
inlinestatic

コマンドラインに文字を出力する関数.Warning用の出力.

引数
[in]str出力する文字列

cmdio_util.h91 行目に定義があります。

呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: