format (mwx::mwx_format)

mwx::stream に printf の書式を入力

mwx::stream の << 演算子に対してフォーマット書式を書き出すヘルパークラスです。ライブラリ内では Using format=mwx::mwx_format; として別名定義しています。

Serial << format("formatted print: %.2f", (double)3123 / 100.) << mwx::crlf;

// formatted print: 31.23[改行]

可変数引数リストに登録できる引数は最大8つです。doubleやuint64_t型など64bitのパラメータが含まれる場合は引数の数が制限されます。制限を超えた場合はstatic_assertによるコンパイルエラーになります。

  • コンストラクタで受け取った引数リストを、パラメータパックの展開機能を用いてクラス内部変数に格納する

  • operator << が呼び出された時点で、fctprintf() を呼び出し、ストリームにデータを書き出す

コンストラクタ

format(const char *fmt, ...)

コンストラクタでは、書式のポインタとパラメータを保存します。続く <<演算子による呼び出しでフォーマットを解釈して出力処理を行います。

fmtは本オブジェクトが破棄されるまで、アクセス可能であることが必要です。

最終更新