MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。
string_maker
Raymond Chen、2020/1/24、リビジョン1個
wil::details::string_maker
はUnicode文字列の作成に使われる内部テンプレート型です。
template<typename string_type> struct string_maker<string_type>;
サポートする型
string_maker
はstring_allocator
を持つ任意の文字列型をサポートしています。
unique_process_heap_string
unique_hlocal_string
unique_hglobal_string
unique_cotaskmem_string
unique_midl_string
以下の文字列型もサポートしています。
unique_hstring
std::wstring
(stl.h
が必要)
メソッド
HRESULT make(_In_reads_opt_(length) PCWSTR source, size_t length) noexcept;
length
長の文字列(加えてnull終端)を保持できる文字列のメモリを確保します。
source
がnullではない場合、メモリはsource
で初期化されます。
source
がnullptr
の場合、メモリはゼロ初期化されます。
make
の複数回呼び出しは適切です。以前のバッファーは解放されます。
wchar_t* buffer();
make
で確保したメモリのポインタを返します。呼び出し側はlength
文字を限度としてこのバッファーにデータを入れることが期待されます。
string_type release();
make
で確保したメモリを文字列に変換して返します。string_maker
は空状態に戻されます。
static PCWSTR get(string_type const& value);
既存の文字列オブジェクトからnull終端文字列バッファーへの正確なポインターを取得する静的関数です。
著作権表示
この記事は以下の著作物を使用しています。
Copyright (c) Microsoft Corporation. All rights reserved. https://github.com/microsoft/wil/blob/master/LICENSE