16 #ifndef INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ 17 #define INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ 27 : mos_buf_(static_cast<nlib_byte_t*>(buf)),
30 template<
class T,
size_t N>
32 : mos_buf_(static_cast<nlib_byte_t*>(static_cast<void*>(&buf[0]))),
34 mos_size_(N *
sizeof(T)) {}
39 return Init(static_cast<nlib_byte_t*>(buf), n);
41 template<
class T,
size_t N>
43 return this->Init(&buf[0], N *
sizeof(T));
66 #endif // INCLUDE_NN_NLIB_MEMORYOUTPUTSTREAM_H_ #define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
constexpr MemoryOutputStream() noexcept
デフォルトコンストラクタです。実行後Init()による初期化を必要とします。
constexpr MemoryOutputStream(T(&buf)[N]) noexcept
MemoryOutputStreamを構築して初期化します。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
constexpr MemoryOutputStream(void *buf, size_t n) noexcept
MemoryOutputStreamを構築して初期化します。
errno_t Init(void *buf, size_t n) noexcept
MemoryOuputStreamを初期化して利用できるようにします。
errno_t Init(T(&buf)[N]) noexcept
MemoryOuputStreamを初期化して利用できるようにします。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
出力ストリームの基底クラスです。このクラスを実体化することはできません。