3 #ifndef INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ 4 #define INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ 14 template <
class T,
size_t N>
16 : mos_buf_(reinterpret_cast<unsigned char*>(&buf[0])),
18 mos_size_(N *
sizeof(T)) {}
22 template <
class T,
size_t N>
24 return this->Init(&buf[0], N *
sizeof(T));
28 virtual bool PushBuffer_(
const void* p,
size_t nbytes,
39 unsigned char* mos_buf_;
47 #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が定義されます。そうでない場合は空文字列です。
出力ストリームの基底クラスです。このクラスを実体化することはできません。