16 #ifndef INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ 17 #define INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ 27 template <
class T,
size_t N>
29 : mos_buf_(reinterpret_cast<unsigned char*>(&buf[0])),
31 mos_size_(N *
sizeof(T)) {}
35 template <
class T,
size_t N>
37 return this->Init(&buf[0], N *
sizeof(T));
41 virtual bool PushBuffer_(
const void* p,
size_t nbytes,
52 unsigned char* mos_buf_;
60 #endif // INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ #define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
MemoryOutputStream() noexcept
デフォルトコンストラクタです。利用前にInit()メンバ関数を呼び出す必要があります。
MemoryOutputStream(T(&buf)[N]) noexcept
MemoryOutputStreamを構築して初期化します。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
const void * data() const noexcept
出力データの先頭のポインタを取得します。
errno_t Init(T(&buf)[N]) noexcept
MemoryOuputStreamを初期化して利用できるようにします。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
出力ストリームの基底クラスです。このクラスを実体化することはできません。