winrt::hstring 構造体 (C++/WinRT)
テキスト文字列を表す UTF-16 Unicode 文字のシーケンシャル コレクション。
構文
struct hstring
必要条件
サポートされる最小 SDK: Windows SDK バージョン 10.0.17134.0 (Windows 10 バージョン 1803) を
Namespace: 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 オブジェクトの最初の文字を指す const 反復子を返します。 |
hstring::c_str 関数 を |
hstring オブジェクト内の文字の基になる null で終わる C スタイルの文字列へのポインターを返します。コピーは作成されません。 |
hstring::cbegin 関数 を |
hstring オブジェクトの最初の文字を指す const 反復子を返します。 |
hstring::cend 関数 を |
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) を指す const 反復子を返します。 |
hstring::clear 関数の | hstring オブジェクトを空にします。 |
hstring::crbegin 関数 を |
hstring オブジェクトの末尾 (最後の文字を超えた文字列) の 1 つを指す定数反転反復子を返します。 |
hstring::crend 関数の | hstring オブジェクトの最初の文字を指す定数反転反復子を返します。 |
hstring::d ata 関数 を |
hstring オブジェクト内の文字の null で終わる C スタイルの文字列バージョンを返します。 |
hstring::empty 関数の | hstring オブジェクトが空かどうかを示す値を返します。 |
hstring::end 関数の を |
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) を指す const 反復子を返します。 |
hstring::front 関数 を |
hstring オブジェクトの最初の文字への参照を返します。 |
hstring::rbegin 関数 を |
hstring オブジェクトの末尾 (最後の文字を超えた文字列) の 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 ランタイム文字列へのハンドルにコピーします。 |
関数 |
hstring オブジェクトをハンドルからデタッチし、呼び出し元に返す場合があります。 |
to_hstring 関数の | 入力値を、値の文字列表現を含む winrt::hstring に変換します。 |
Free 演算子
演算子 | 形容 |
---|---|
演算子!= (等しくない演算子) | 2 つのパラメーターが互いに等しくないかどうかを示す値を返します。 |
演算子 + (連結演算子) | 2 つのパラメーターを連結した結果、新しい hstring オブジェクトを返します。 |
演算子 < (演算子より小さい) | 最初のパラメーターが 2 番目のパラメーターより小さいかどうかを示す値を返します。 |
演算子<= (以下の演算子) | 最初のパラメーターが 2 番目のパラメーター以下かどうかを示す値を返します。 |
operator== (等値演算子) | 2 つのパラメーターが互いに等しいかどうかを示す値を返します。 |
演算子> (より大きい演算子) | 最初のパラメーターが 2 番目のパラメーターより大きいかどうかを示す値を返します。 |
演算子>= (以上の演算子) | 最初のパラメーターが 2 番目のパラメーター以上かどうかを示す値を返します。 |
反復 子
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 オブジェクトの最初の文字を指す const 反復子を返します。 反復子 を参照してください。
構文
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 オブジェクトの最初の文字を指す const 反復子を返します。 反復子 を参照してください。
構文
wchar_t const* cbegin() const noexcept;
戻り値
hstring オブジェクト内の最初の文字を指す const 反復子。
hstring::cend 関数
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) を指す const 反復子を返します。 反復子 を参照してください。
構文
wchar_t const* cend() const noexcept;
戻り値
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) を指す const 反復子。
hstring::clear 関数
hstring オブジェクトを空にします。
構文
void clear() noexcept;
hstring::crbegin 関数
hstring オブジェクトの末尾 (最後の文字を超えた文字列) の 1 つを指す定数反転反復子を返します。
構文
std::reverse_iterator<wchar_t const*> crbegin() const noexcept;
戻り値
hstring オブジェクトの末尾 (最後の文字の後の 1 つ) を指す const 逆反復子。
hstring::crend 関数
hstring オブジェクトの最初の文字を指す定数反転反復子を返します。
構文
std::reverse_iterator<wchar_t const*> crend() const noexcept;
戻り値
hstring オブジェクト内の最初の文字を指す const 逆反復子。
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;
戻り値
hstring オブジェクトが空の場合は true
。それ以外の場合は false
。
hstring::end 関数
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) を指す const 反復子を返します。 反復子 を参照してください。
構文
wchar_t const* end() const noexcept;
戻り値
hstring オブジェクトの末尾 (最後の文字の 1 つを超える) を指す const 反復子。
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 値です。
hstring オブジェクトに割り当てる std::wstring_view 値を v
します。
戻り値
hstring オブジェクトへの参照。
hstring::rbegin 関数
hstring オブジェクトの末尾 (最後の文字を超えた文字列) の 1 つを指す定数反転反復子を返します。
構文
std::reverse_iterator<wchar_t const*> rbegin() const noexcept;
戻り値
hstring オブジェクトの末尾 (最後の文字の後の 1 つ) を指す const 逆反復子。
hstring::rend 関数
hstring オブジェクトの最初の文字を指す定数反転反復子を返します。
構文
std::reverse_iterator<wchar_t const*> rend() const noexcept;
戻り値
hstring オブジェクト内の最初の文字を指す const 逆反復子。
hstring::size 関数
hstring オブジェクト内の文字数を返します。
構文
uint32_t size() const noexcept;
戻り値
hstring オブジェクト内の文字数を含む uint32_t。
attach_abi関数
hstring オブジェクトを Windows ランタイム文字列のハンドルにアタッチします。
構文
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 を指定します。
戻り値
新しい hstring 2 つのパラメーターを連結した結果のオブジェクトです。
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 の配列へのポインター。
戻り値
最初のパラメーターが 2 番目のパラメーターより小さい場合は true
。それ以外の場合は false
。
operator<= (less-than-or-equal-to 演算子)
最初のパラメーターが 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 の配列へのポインター。
戻り値
最初のパラメーターが 2 番目のパラメーター以下の場合は true
。それ以外の場合は 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 の配列へのポインター。
戻り値
2 つのパラメーターが互いに等しい場合は true
し、それ以外の場合は false
。
演算子> (より大きい演算子)
最初のパラメーターが 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 の配列へのポインター。
戻り値
最初のパラメーターが 2 番目のパラメーターより大きい場合は true
。それ以外の場合は 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 の配列へのポインター。
戻り値
最初のパラメーターが 2 番目のパラメーター以上の場合は true
。それ以外の場合は false
。
関連項目
- winrt 名前空間 を
する - C++/WinRT での文字列処理の