16 #ifndef INCLUDE_NN_NLIB_OUTPUTCONVERTERSTREAM_H_ 17 #define INCLUDE_NN_NLIB_OUTPUTCONVERTERSTREAM_H_ 26 virtual ~OutputTransform() {}
27 virtual errno_t Transform(OutputStream* os,
const void* p,
size_t nBytes,
bool doFlush) = 0;
31 virtual void* GetWorkBuffer(
size_t* n) = 0;
34 virtual errno_t OnSetStream(OutputStream* os) = 0;
37 virtual errno_t OnClose(OutputStream* os) = 0;
65 OutputStream* stream_;
66 OutputTransform* cvtr_;
68 unsigned char* ocs_buf_;
73 template<class TRANSFORM>
76 typedef TRANSFORM TransformType;
81 bool result = this->
Close();
88 errno_t e = OutputConverterStream::SetTransform(cvtr);
93 TRANSFORM m_Transform;
101 #endif // INCLUDE_NN_NLIB_OUTPUTCONVERTERSTREAM_H_ #define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
void SetError(errno_t e) const noexcept
OutputStreamにエラーを設定します。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
bool Close() noexcept
ストリームをフラッシュした後、ストリームを閉じます。成功した場合にはtrueを返します。 ...
OutputStream * GetStream() const noexcept
ベースとなる入力ストリームを取得します。
OutputTransformの派生クラスを保持するためのクラスです。
内部でデータ変換を行うOutputStreamのように振る舞うクラスの基底です。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
出力ストリームの基底クラスです。このクラスを実体化することはできません。