3 #ifndef INCLUDE_NN_NLIB_BASE64OUTPUTSTREAM_H_
4 #define INCLUDE_NN_NLIB_BASE64OUTPUTSTREAM_H_
16 enum NewLineMode { NEWLINEMODE_NONE = 0, NEWLINEMODE_CRLF, NEWLINEMODE_LF };
19 virtual
errno_t Transform(OutputStream* os, const
void* p,
size_t nBytes,
21 virtual
void* GetWorkBuffer(
size_t* n)
NLIB_NOEXCEPT NLIB_OVERRIDE;
25 void SetNewLineMode(NewLineMode mode)
NLIB_NOEXCEPT { m_NewLine = mode; }
30 NewLineMode m_NewLine;
32 unsigned char m_Buf[192];
38 typedef OutputConverterStreamTempl<detail::Base64OutputTransform> Base64OutputStream;
44 enum NewLineMode { NEWLINEMODE_NONE = 0, NEWLINEMODE_CRLF, NEWLINEMODE_LF };
49 static_cast<int>(TransformType::NEWLINEMODE_NONE));
51 static_cast<int>(TransformType::NEWLINEMODE_CRLF));
53 static_cast<int>(TransformType::NEWLINEMODE_LF));
54 m_Transform.SetNewLineMode(static_cast<TransformType::NewLineMode>(mode));
61 #endif // INCLUDE_NN_NLIB_BASE64OUTPUTSTREAM_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
void SetNewLineMode(NewLineMode mode) noexcept
改行モードを設定します。
OutputTransformの派生クラスを保持するためのクラスです。
#define NLIB_STATIC_ASSERT(exp)
静的アサートが定義されます。利用可能であればstatic_assertを利用します。
NewLineMode
出力されるBase64テキストの改行オプションです。デフォルトはNEWLINEMODE_NONEです。
データをBase64でエンコードして書きこむためのクラスです。