3 #ifndef INCLUDE_NN_NLIB_INPUTCONVERTERSTREAM_H_ 4 #define INCLUDE_NN_NLIB_INPUTCONVERTERSTREAM_H_ 13 virtual ~InputTransform() {}
22 virtual errno_t Transform(InputStream* is,
void* p,
size_t size,
size_t* n) = 0;
26 virtual void* GetWorkBuffer(
size_t* n) = 0;
29 virtual errno_t OnSetStream(InputStream* is) = 0;
58 InputTransform* cvtr_;
60 unsigned char* ics_buf_;
65 template <
class TRANSFORM>
68 typedef TRANSFORM TransformType;
76 errno_t e = InputConverterStream::SetTransform(cvtr);
77 if (e != 0) this->SetError(e);
81 TRANSFORM m_Transform;
89 #endif // INCLUDE_NN_NLIB_INPUTCONVERTERSTREAM_H_ #define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。