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