16 #ifndef INCLUDE_NN_NLIB_TEXTWRITER_H_ 17 #define INCLUDE_NN_NLIB_TEXTWRITER_H_ 20 #include "nn/nlib/Swap.h" 37 NLIB_MOVE_MEMBER_HELPER_2(
TextWriter, stream_, errno_);
52 bool WriteFormat(_Printf_format_string_
const wchar_t* fmt, ...)
NLIB_NOEXCEPT;
55 if (errno_ == 0) errno_ = e;
60 swap(stream_, rhs.stream_);
61 swap(errno_, rhs.errno_);
73 unsigned char utf8idx_;
74 unsigned char utf16idx_;
87 #endif // INCLUDE_NN_NLIB_TEXTWRITER_H_ errno_t GetErrorValue() const noexcept
書き込み等が失敗した際に、エラーの原因を取得できます。
OutputStream * GetStream() noexcept
テキストライタが書き込みを行うストリームを取得します。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_SAFE_BOOL(class_name, exp)
クラス内に安全なoperator bool()を定義します。 可能であればC++11のexplicit boolを利用します。 ...
bool Write(BinaryWriter *w, T x)
この関数テンプレートを特殊化することで、ユーザー定義クラスを書きこむことができます。 ...
errno_tをラップするクラスです。Visual Studioのデバッガ上での表示を改善します。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
void swap(TextWriter &rhs) noexcept
オブジェクトの内容をスワップします。
~TextWriter() noexcept
デストラクタです。ストリームはクローズされません。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
void SetError(errno_t e) const noexcept
エラー値を設定します。
出力ストリームの基底クラスです。このクラスを実体化することはできません。