winrt::hstring 構造体 (C++/WinRT)
テキスト文字列を表す UTF-16 Unicode 文字のシーケンシャル コレクション。 winrt::hstring の詳細な例と情報については、「C++/WinRT での文字列処理」を参照してください。
winrt::hstring 型は、std::wstring と同様のインターフェイスの背後に HSTRING をカプセル化します。 HSTRING は、Windows ランタイム文字列へのハンドルです。 HSTRING を winrt::hstring に設定する方法、および winrt::hstring から HSTRING を再トリガーする方法については、「ABI の HSTRING との相互運用」を参照してください。
構文
struct hstring
必要条件
サポートされている最小 SDK:Windows SDK バージョン 10.0.17134.0 (Windows 10 バージョン 1803)
名前空間: winrt
ヘッダー: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (既定で含まれます)
メンバー型のエイリアス
エイリアス名 | 型 |
---|---|
hstring::value_type | wchar_tのシノニム。 |
hstring::size_type | uint32_tのシノニム。 |
hstring::const_reference | hstring::value_type const&のシノニム。 |
hstring::const_pointer | hstring::value_type const* のシノニム。 |
hstring::const_iterator | hstring::const_pointer のシノニム。 |
hstring::const_reverse_iterator | std::reverse_iterator<hstring::const_iterator> のシノニム。 |
コンストラクター
コンストラクター | 説明 |
---|---|
hstring::hstring コンストラクター | 入力文字列データのコピーを使用して 、hstring 構造体の新しいインスタンスを初期化します。 |
メンバー関数
機能 | 説明 |
---|---|
hstring::back 関数 | hstring オブジェクトの最後の文字への参照を返します。 |
hstring::begin 関数 | hstring オブジェクトの最初の文字を指す定数反復子を返します。 |
hstring::c_str 関数 | hstring オブジェクト内の文字の基になる null で終わる C スタイルの文字列へのポインターを返します。コピーは作成されません。 |
hstring::cbegin 関数 | hstring オブジェクトの最初の文字を指す定数反復子を返します。 |
hstring::cend 関数 | hstring オブジェクトの末尾 (最後の文字の後の 1 つ) の 1 つを指す定数反復子を返します。 |
hstring::clear 関数 | hstring オブジェクトを空にします。 |
hstring::crbegin 関数 | hstring オブジェクトの末尾 (最後の文字の後の 1 つ) の 1 つを指す定数反転反復子を返します。 |
hstring::crend 関数 | hstring オブジェクトの最初の文字を指す定数反転反復子を返します。 |
hstring::d ata 関数 | hstring オブジェクト内の文字の null で終わる C スタイルの文字列バージョンを返します。 |
hstring::empty 関数 | hstring オブジェクトが空かどうかを示す値を返します。 |
hstring::end 関数 | hstring オブジェクトの末尾 (最後の文字の後の 1 つ) の 1 つを指す定数反復子を返します。 |
hstring::front 関数 | hstring オブジェクトの最初の文字への参照を返します。 |
hstring::rbegin 関数 | hstring オブジェクトの末尾 (最後の文字の後の 1 つ) の 1 つを指す定数反転反復子を返します。 |
hstring::rend 関数 | hstring オブジェクトの最初の文字を指す定数反転反復子を返します。 |
hstring::size 関数 | hstring オブジェクトの文字数を返します。 |
メンバー演算子
演算子 | 説明 |
---|---|
hstring::operator std::wstring_view | hstring オブジェクトを std::wstring_view に変換します。 |
hstring::operator[] (添字演算子)) | hstring オブジェクト内の指定した位置にある文字への参照を返します。 |
hstring::operator= (代入演算子) | hstring オブジェクトに値を割り当てます。 |
無料の関数
機能 | 説明 |
---|---|
attach_abi 関数 | hstring オブジェクトをハンドルにWindows ランタイム文字列にアタッチします。 |
copy_from_abi 関数 | ハンドルからWindows ランタイム文字列に hstring オブジェクトにコピーします。 hstring をクリアし、パラメーターをコピーして、ハンドルの管理を開始します。 |
copy_to_abi 関数 | hstring オブジェクトからWindows ランタイム文字列にハンドルにコピーします。 |
detach_abi 関数 | hstring オブジェクトをハンドルからデタッチし、呼び出し元に返します。 |
to_hstring 関数 | 入力値を、値の文字列表現を含む winrt::hstring に変換します。 |
Free 演算子
演算子 | 説明 |
---|---|
operator!= (等しくない演算子) | 2 つのパラメーターが互いに等しくないかどうかを示す値を返します。 |
operator+ (連結演算子) | 2 つのパラメーターを連結した結果、新しい hstring オブジェクトを返します。 |
演算子< (より小さい演算子) | 最初のパラメーターが 2 番目のパラメーターより小さいかどうかを示す値を返します。 |
operator<= (より小さい演算子または等しい演算子) | 最初のパラメーターが 2 番目のパラメーター以下かどうかを示す値を返します。 |
operator== (等値演算子) | 2 つのパラメーターが互いに等しいかどうかを示す値を返します。 |
operator> (greater-than 演算子) | 最初のパラメーターが 2 番目のパラメーターより大きいかどうかを示す値を返します。 |
operator>= (より大きい演算子または等しい演算子) | 最初のパラメーターが 2 番目のパラメーター以上かどうかを示す値を返します。 |
Iterators
hstring は範囲であり、その範囲は hstring::begin および hstring::end メンバー関数によって定義され、それぞれが const 反復子を返します (hstring::cbegin および hstring::cend と同様)。 このため、範囲ベースfor
のステートメントまたは std::for_each テンプレート関数を使用して、hstring オブジェクト内の文字を列挙できます。
#include <iostream>
using namespace winrt;
...
void Iterators(hstring const& theHstring)
{
for (auto const& element : theHstring)
{
std::wcout << element;
}
std::for_each(theHstring.cbegin(), theHstring.cend(), [](T const& element) { std::wcout << element; });
}
hstring::hstring コンストラクター
入力文字列データのコピーを使用して 、hstring 構造体の新しいインスタンスを初期化します。
構文
hstring() noexcept;
hstring(winrt::hstring const& h);
explicit hstring(std::wstring_view const& v);
hstring(wchar_t const* c);
hstring(wchar_t const* c, uint32_t s);
パラメーター
h
hstring オブジェクトを初期化する hstring 値。
v
hstring オブジェクトを初期化する std::wstring_view 値。
c
hstring オブジェクトを初期化する定数wchar_tの配列へのポインター。
s
hstring オブジェクトの固定サイズを指定する数値。
例
using namespace winrt;
...
void Constructors(
hstring const& theHstring,
std::wstring_view const& theWstringView,
wchar_t const* wideLiteral,
std::wstring const& wideString)
{
// hstring() noexcept
hstring fromDefault{};
// hstring(hstring const& h)
hstring fromHstring{ theHstring };
// explicit hstring(std::wstring_view const& value)
hstring fromWstringView{ theWstringView };
// hstring(wchar_t const* value)
hstring fromWideLiteral{ wideLiteral };
hstring fromWideString{ wideString.c_str() };
// hstring(wchar_t const* value, uint32_t size)
hstring fromWideLiteralWithSize{ wideLiteral, 256 };
hstring fromWideStringWithSize{ wideString.c_str(), 256 };
}
hstring::back 関数
hstring オブジェクトの最後の文字への参照を返します。
構文
wchar_t const& back() const noexcept;
戻り値
hstring オブジェクトの最後の文字への参照。
hstring::begin 関数
hstring オブジェクトの最初の文字を指す定数反復子を返します。 反復子に関するページを参照してください。
構文
wchar_t const* begin() const noexcept;
戻り値
hstring オブジェクトの最初の文字を指す const 反復子。
hstring::c_str 関数
hstring オブジェクト内の文字の基になる null で終わる C スタイルの文字列へのポインターを返します。コピーは行われません。
構文
wchar_t const* c_str() const noexcept;
戻り値
hstring オブジェクト内の文字の基になる null で終わる C スタイルの文字列へのポインター。コピーは行われません。
例
#include <iostream>
using namespace winrt;
...
void PrintHstring(hstring const& theHstring)
{
// You can get a standard wide string from an hstring.
std::wcout << theHstring.c_str() << std::endl;
}
hstring::cbegin 関数
hstring オブジェクトの最初の文字を指す定数反復子を返します。 反復子に関するページを参照してください。
構文
wchar_t const* cbegin() const noexcept;
戻り値
hstring オブジェクトの最初の文字を指す const 反復子。
hstring::cend 関数
hstring オブジェクトの末尾の 1 つを超える (内の最後の文字を超える) const 反復子を返します。 反復子に関するページを参照してください。
構文
wchar_t const* cend() const noexcept;
戻り値
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) の 1 つを指す定数反復子。
hstring::clear 関数
hstring オブジェクトを空にします。
構文
void clear() noexcept;
hstring::crbegin 関数
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) の 1 つを指す定数反転反復子を返します。
構文
std::reverse_iterator<wchar_t const*> crbegin() const noexcept;
戻り値
hstring オブジェクトの末尾 (内の最後の文字の 1 つを超える) の 1 つを指す定数逆反復子。
hstring::crend 関数
hstring オブジェクトの最初の文字を指す定数逆反復子を返します。
構文
std::reverse_iterator<wchar_t const*> crend() const noexcept;
戻り値
hstring オブジェクトの最初の文字を指す定数逆反復子。
hstring::d ata 関数
hstring オブジェクト内の文字の null で終わる C スタイルの文字列バージョンを返します。
構文
wchar_t const* data() const noexcept;
戻り値
hstring オブジェクト内の文字の null で終わる C スタイルの文字列バージョン。
例
#include <iostream>
using namespace winrt;
...
void PrintHstring(hstring const& theHstring)
{
// You can get a standard wide string from an hstring.
std::wcout << theHstring.data() << std::endl;
}
hstring::empty 関数
hstring オブジェクトが空かどうかを示す値を返します。
構文
bool empty() const noexcept;
戻り値
true
hstring オブジェクトが空の場合は 。それ以外の場合false
は 。
hstring::end 関数
hstring オブジェクトの末尾の 1 つを超える (内の最後の文字を超える) const 反復子を返します。 反復子に関するページを参照してください。
構文
wchar_t const* end() const noexcept;
戻り値
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) の 1 つを指す定数反復子。
hstring::front 関数
hstring オブジェクトの最初の文字への参照を返します。
構文
wchar_t const& front() const noexcept;
戻り値
hstring オブジェクトの最初の文字への参照。
hstring::operator std::wstring_view
hstring オブジェクトを std::wstring_view に変換します。
構文
operator std::wstring_view() const noexcept;
戻り値
std::wstring_view に変換された hstring オブジェクト。
例
using namespace winrt;
...
Uri contosoUri{ L"https://www.contoso.com" };
Uri awUri{ L"https://www.adventure-works.com" };
// Uri::Domain() is of type hstring. But we can use hstring's conversion operator to std::wstring_view.
std::wstring domainWstring{ contosoUri.Domain() }; // L"contoso.com"
domainWstring = awUri.Domain(); // L"https://www.adventure-works.com"
hstring::operator[] (添字演算子)
hstring オブジェクト内の指定した位置にある文字への参照を返します。
構文
wchar_t const& operator[](uint32_t pos) const noexcept;
パラメーター
pos
0 から始まる文字の位置、またはインデックス。
戻り値
hstring オブジェクト内の指定した位置にある文字への参照。
hstring::operator= (代入演算子)
hstring オブジェクトに値を割り当てます。
構文
winrt::hstring& operator=(winrt::hstring const& h);
winrt::hstring& operator=(std::wstring_view const& v);
パラメーター
h
hstring オブジェクトに割り当てる hstring 値。
v
hstring オブジェクトに割り当てる std::wstring_view 値。
戻り値
hstring オブジェクトへの参照。
hstring::rbegin 関数
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) の 1 つを指す定数反転反復子を返します。
構文
std::reverse_iterator<wchar_t const*> rbegin() const noexcept;
戻り値
hstring オブジェクトの末尾 (内の最後の文字の 1 つを超える) の 1 つを指す定数逆反復子。
hstring::rend 関数
hstring オブジェクトの最初の文字を指す定数逆反復子を返します。
構文
std::reverse_iterator<wchar_t const*> rend() const noexcept;
戻り値
hstring オブジェクトの最初の文字を指す定数逆反復子。
hstring::size 関数
hstring オブジェクトの文字数を返します。
構文
uint32_t size() const noexcept;
戻り値
hstring オブジェクト内の文字数を含むuint32_t。
attach_abi 関数
Windows ランタイム文字列へのハンドルに hstring オブジェクトをアタッチします。
構文
void attach_abi(winrt::hstring& object, HSTRING value) noexcept;
パラメーター
object
操作する hstring オブジェクト。
value
Windows ランタイム文字列へのハンドル。
copy_from_abi 関数
ハンドルからWindows ランタイム文字列に hstring オブジェクトにコピーします。 hstring をクリアし、パラメーターをコピーして、ハンドルの管理を開始します。
構文
void copy_from_abi(winrt::hstring& object, HSTRING value);
パラメーター
object
操作する hstring オブジェクト。
value
Windows ランタイム文字列へのハンドル。
copy_to_abi 関数
hstring オブジェクトからWindows ランタイム文字列へのハンドルにコピーします。
構文
void copy_to_abi(winrt::hstring const& object, HSTRING& value);
パラメーター
object
操作する hstring オブジェクト。
value
hstring のハンドルをコピーするためのハンドル参照。
detach_abi 関数
hstring オブジェクトをハンドルからデタッチし、呼び出し元に返す場合があります。
構文
HSTRING detach_abi(winrt::hstring& object) noexcept;
HSTRING detach_abi(winrt::hstring&& object) noexcept;
パラメーター
object
操作する hstring オブジェクト。
戻り値
Windows ランタイム文字列へのハンドル。
operator!= (等しくない演算子)
2 つのパラメーターが互いに等しくないかどうかを示す値を返します。
構文
inline bool operator!=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator!=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator!=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
パラメーター
hLeft
hRight
他のパラメーターと比較する hstring 値。
wLeft
wRight
他の std::wstring
パラメーターと比較する値。
cLeft
cRight
定数の配列へのポインター wchar_t 、他のパラメーターと比較します。
戻り値
true
2 つのパラメーターが互いに等しくない場合は 。それ以外の場合 false
は 。
operator+ (連結演算子)
2 つのパラメーターを連結した結果、新しい hstring オブジェクトを返します。
構文
inline hstring operator+(winrt::hstring const& hLeft, winrt::hstring const& hRight);
inline hstring operator+(winrt::hstring const& hLeft, std::wstring const& wRight);
inline hstring operator+(winrt::hstring const& hLeft, std::wstring_view const& vRight);
inline hstring operator+(winrt::hstring const& hLeft, wchar_t const* cRight);
inline hstring operator+(winrt::hstring const& hLeft, wchar_t scRight);
inline hstring operator+(std::wstring const& wLeft, winrt::hstring const& hRight);
inline hstring operator+(std::wstring_view const& vLeft, winrt::hstring const& hRight);
inline hstring operator+(wchar_t const* cLeft, winrt::hstring const& hRight);
inline hstring operator+(wchar_t scLeft, winrt::hstring const& hRight);
パラメーター
hLeft
hRight
他のパラメーターと連結する hstring 値。
wLeft
wRight
もう一方の std::wstring
パラメーターと連結する値。
vLeft
vRight
他のパラメーターと連結する std::wstring_view 値。
cLeft
cRight
他のパラメーターと連結する 定数wchar_t の配列へのポインター。
scLeft
scRight
もう 一 方のパラメーターと連結するwchar_t。
戻り値
2 つのパラメーターを連結した結果の新しい hstring オブジェクト。
operator< (less-than 演算子)
最初のパラメーターが 2 番目のパラメーターより小さいかどうかを示す値を返します。
構文
inline bool operator<(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator<(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator<(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
パラメーター
hLeft
hRight
他のパラメーターと比較する hstring 値。
wLeft
wRight
他の std::wstring
パラメーターと比較する値。
cLeft
cRight
定数の配列へのポインター wchar_t 、他のパラメーターと比較します。
戻り値
true
最初のパラメーターが 2 番目のパラメーターより小さい場合は 。それ以外の場合 false
は 。
operator<= (以下の演算子)
最初のパラメーターが 2 番目のパラメーター以下かどうかを示す値を返します。
構文
inline bool operator<=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator<=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator<=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
パラメーター
hLeft
hRight
他のパラメーターと比較する hstring 値。
wLeft
wRight
他の std::wstring
パラメーターと比較する値。
cLeft
cRight
定数の配列へのポインター wchar_t 、他のパラメーターと比較します。
戻り値
true
最初のパラメーターが 2 番目のパラメーター以下の場合は 。それ以外の場合 false
は 。
operator== (等値演算子)
2 つのパラメーターが互いに等しいかどうかを示す値を返します。
構文
inline bool operator==(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator==(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator==(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
パラメーター
hLeft
hRight
他のパラメーターと比較する hstring 値。
wLeft
wRight
他の std::wstring
パラメーターと比較する値。
cLeft
cRight
定数の配列へのポインター wchar_t 、他のパラメーターと比較します。
戻り値
true
2 つのパラメーターが互いに等しい場合は 。それ以外の場合 false
は 。
operator> (greater-than 演算子)
最初のパラメーターが 2 番目のパラメーターより大きいかどうかを示す値を返します。
構文
inline bool operator>(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator>(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator>(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
パラメーター
hLeft
hRight
他のパラメーターと比較する hstring 値。
wLeft
wRight
他の std::wstring
パラメーターと比較する値。
cLeft
cRight
定数の配列へのポインター wchar_t 、他のパラメーターと比較します。
戻り値
true
最初のパラメーターが 2 番目のパラメーターより大きい場合は 。それ以外の場合 false
は 。
operator>= (より大きい演算子または等しい演算子)
最初のパラメーターが 2 番目のパラメーター以上かどうかを示す値を返します。
構文
inline bool operator>=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator>=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator>=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;
パラメーター
hLeft
hRight
他のパラメーターと比較する hstring 値。
wLeft
wRight
他の std::wstring
パラメーターと比較する値。
cLeft
cRight
他のパラメーターと比較するために wchar_t 定数の配列へのポインター。
戻り値
true
最初のパラメーターが 2 番目のパラメーター以上の場合は 。それ以外の場合 false
は 。
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示