winrt::hstring 構造体 (C++/WinRT)

テキスト文字列を表す UTF-16 Unicode 文字のシーケンシャル コレクション。 winrt::hstring の詳細な例と情報については、「C++/WinRT での文字列処理」を参照してください。

winrt::hstring 型は、std::wstring と同様のインターフェイスの背後に HSTRING をカプセル化します。 HSTRING は、Windows ランタイム文字列へのハンドルです。 HSTRINGwinrt::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);

パラメーター

hhstring オブジェクトを初期化する hstring 値。

vhstring オブジェクトを初期化する std::wstring_view 値。

chstring オブジェクトを初期化する定数wchar_tの配列へのポインター。

shstring オブジェクトの固定サイズを指定する数値。

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;

戻り値

truehstring オブジェクトが空の場合は 。それ以外の場合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);

パラメーター

hhstring オブジェクトに割り当てる hstring 値。

vhstring オブジェクトに割り当てる 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 オブジェクト。

valueWindows ランタイム文字列へのハンドル。

copy_from_abi 関数

ハンドルからWindows ランタイム文字列に hstring オブジェクトにコピーします。 hstring をクリアし、パラメーターをコピーして、ハンドルの管理を開始します。

構文

void copy_from_abi(winrt::hstring& object, HSTRING value);

パラメーター

object 操作する hstring オブジェクト。

valueWindows ランタイム文字列へのハンドル。

copy_to_abi 関数

hstring オブジェクトからWindows ランタイム文字列へのハンドルにコピーします。

構文

void copy_to_abi(winrt::hstring const& object, HSTRING& value);

パラメーター

object 操作する hstring オブジェクト。

valuehstring のハンドルをコピーするためのハンドル参照。

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;

パラメーター

hLefthRight 他のパラメーターと比較する hstring 値。

wLeftwRight 他の std::wstring パラメーターと比較する値。

cLeftcRight 定数の配列へのポインター 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);

パラメーター

hLefthRight 他のパラメーターと連結する hstring 値。

wLeftwRight もう一方の std::wstring パラメーターと連結する値。

vLeftvRight 他のパラメーターと連結する std::wstring_view 値。

cLeftcRight 他のパラメーターと連結する 定数wchar_t の配列へのポインター。

scLeftscRight もう 方のパラメーターと連結する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;

パラメーター

hLefthRight 他のパラメーターと比較する hstring 値。

wLeftwRight 他の std::wstring パラメーターと比較する値。

cLeftcRight 定数の配列へのポインター 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;

パラメーター

hLefthRight 他のパラメーターと比較する hstring 値。

wLeftwRight 他の std::wstring パラメーターと比較する値。

cLeftcRight 定数の配列へのポインター 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;

パラメーター

hLefthRight 他のパラメーターと比較する hstring 値。

wLeftwRight 他の std::wstring パラメーターと比較する値。

cLeftcRight 定数の配列へのポインター 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;

パラメーター

hLefthRight 他のパラメーターと比較する hstring 値。

wLeftwRight 他の std::wstring パラメーターと比較する値。

cLeftcRight 定数の配列へのポインター 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;

パラメーター

hLefthRight 他のパラメーターと比較する hstring 値。

wLeftwRight 他の std::wstring パラメーターと比較する値。

cLeftcRight 他のパラメーターと比較するために wchar_t 定数の配列へのポインター。

戻り値

true 最初のパラメーターが 2 番目のパラメーター以上の場合は 。それ以外の場合 falseは 。

こちらもご覧ください