HString クラス
RAII パターンを使用して Hstring の有効期間を管理するためのヘルパー クラス。
構文
class HString;
解説
Windows ランタイムでは、HSTRING ハンドルを使用して文字列にアクセスすることができます。 HString
クラスには、HSTRING ハンドルの使用を簡単にするための便利な関数と演算子が用意されています。 このクラスでは、RAII パターンを介して所有する HSTRING の有効期間を処理できます。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
HString::HString | HString クラスの新しいインスタンスを初期化します。 |
HString::~HString | HString クラスの現在のインスタンスを破棄します。 |
パブリック メソッド
名前 | 説明 |
---|---|
HString::Attach | 指定した HString オブジェクトを現在の HString オブジェクトに関連付けます。 |
HString::CopyTo | 現在の HString オブジェクトを HSTRING オブジェクトにコピーします。 |
HString::Detach | 指定した HString オブジェクトと基になる値の関連付けを解除します。 |
HString::Get | 基になる HSTRING ハンドルの値を取得します。 |
HString::GetAddressOf | 基になる HSTRING ハンドルへのポインターを取得します。 |
HString::GetRawBuffer | 基になる文字列データへのポインターを取得します。 |
HString::IsValid | 現在の HString オブジェクトが有効かどうかを示します。 |
HString::MakeReference | 指定した文字列パラメーターから HStringReference オブジェクトを作成します。 |
HString::Release | 基になる文字列値を削除し、現在の HString オブジェクトを空の値に初期化します。 |
HString::Set | 現在の HString オブジェクトの値を、指定したワイド文字の文字列または HString パラメーターに設定します。 |
パブリック演算子
名前 | 説明 |
---|---|
HString::operator= | 別の HString オブジェクトの値を現在の HString オブジェクトに移動します。 |
HString::operator== | 2 つのパラメーターが等しいかどうかを示します。 |
HString::operator!= | 2 つのパラメーターが異なるかどうかを示します。 |
HString::operator< |
1 つ目のパラメーターが 2 つ目のパラメーターより小さいかどうかを示します。 |
継承階層
HString
要件
ヘッダー: corewrappers.h
名前空間: Microsoft::WRL::Wrappers
HString::~HString
HString
クラスの現在のインスタンスを破棄します。
~HString() throw()
HString::Attach
指定した HString
オブジェクトを現在の HString
オブジェクトに関連付けます。
void Attach(
HSTRING hstr
) throw()
パラメーター
hstr
既存の HString
オブジェクトです。
HString::CopyTo
現在の HString
オブジェクトを HSTRING オブジェクトにコピーします。
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
パラメーター
str
コピーを受信する HSTRING です。
解説
このメソッドを使用すると WindowsDuplicateString 関数が呼び出されます。
HString::Detach
指定した HString
オブジェクトと基になる値の関連付けを解除します。
HSTRING Detach() throw()
戻り値
デタッチ操作が開始される前の基になる HString
値。
HString::Get
基になる HSTRING ハンドルの値を取得します。
HSTRING Get() const throw()
戻り値
基になる HSTRING ハンドルの値
HString::GetAddressOf
基になる HSTRING ハンドルへのポインターを取得します。
HSTRING* GetAddressOf() throw()
戻り値
基になる HSTRING ハンドルへのポインター。
解説
この操作の後に、基になる HSTRING ハンドルの文字列値が破棄されます。
HString::GetRawBuffer
基になる文字列データへのポインターを取得します。
const wchar_t* GetRawBuffer(unsigned int* length) const;
パラメーター
length データの長さを受け取る int
変数へのポインター。
戻り値
基になる文字列データへの const
ポインター。
HString::HString
HString
クラスの新しいインスタンスを初期化します。
HString() throw();
HString(HString&& other) throw();
パラメーター
hstr
HSTRING ハンドル。
other
既存の HString
オブジェクトです。
解説
最初のコンストラクターは、空の新しい HString
オブジェクトを初期化します。
2 番目のコンストラクターは、新しい HString
オブジェクトを既存の other パラメーターの値に初期化してから、other パラメーターを破棄します。
HString::IsValid
現在の HString
オブジェクトが空かどうかを示します。
bool IsValid() const throw()
パラメーター
現在の HString
オブジェクトが空でない場合は true
。それ以外の場合は false
。
HString::MakeReference
指定した文字列パラメーターから HStringReference
オブジェクトを作成します。
template<unsigned int sizeDest>
static HStringReference MakeReference(
wchar_t const (&str)[ sizeDest]);
template<unsigned int sizeDest>
static HStringReference MakeReference(
wchar_t const (&str)[sizeDest],
unsigned int len);
パラメーター
sizeDest
宛先 HStringReference
バッファーのサイズを指定するテンプレート パラメーター。
str
ワイド文字の文字列への参照。
len
この操作で使用する str パラメーター バッファーの最大長。 len パラメーターが指定されていない場合は、str パラメーター全体が使用されます。
戻り値
指定した str パラメーターと同じ値を持つ HStringReference
オブジェクト。
HString::operator= 演算子
別の HString
オブジェクトの値を現在の HString
オブジェクトに移動します。
HString& operator=(HString&& other) throw()
パラメーター
other
既存の HString
オブジェクトです。
解説
既存の other オブジェクトの値が現在の HString
オブジェクトにコピーされてから、other オブジェクトが破棄されます。
HString::operator== 演算子
2 つのパラメーターが等しいかどうかを示します。
inline bool operator==(
const HString& lhs,
const HString& rhs) throw()
inline bool operator==(
const HString& lhs,
const HStringReference& rhs) throw()
inline bool operator==(
const HStringReference& lhs,
const HString& rhs) throw()
inline bool operator==(
const HSTRING& lhs,
const HString& rhs) throw()
inline bool operator==(
const HString& lhs,
const HSTRING& rhs) throw()
パラメーター
lhs
比較する最初のパラメーター。 lhs は HString
または HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
rhs
比較する 2 番目のパラメーター。rhs は HString
または HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
戻り値
lhs パラメーターと rhs パラメーターが等しい場合は true
。それ以外の場合は false
。
HString::operator!= 演算子
2 つのパラメーターが異なるかどうかを示します。
inline bool operator!=( const HString& lhs,
const HString& rhs) throw()
inline bool operator!=( const HStringReference& lhs,
const HString& rhs) throw()
inline bool operator!=( const HString& lhs,
const HStringReference& rhs) throw()
inline bool operator!=( const HSTRING& lhs,
const HString& rhs) throw()
inline bool operator!=( const HString& lhs,
const HSTRING& rhs) throw()
パラメーター
lhs
比較する最初のパラメーター。 lhs は HString
または HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
rhs
比較する 2 番目のパラメーター。rhs は HString
または HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
戻り値
lhs パラメーターと rhs パラメーターが等しくない場合は true
。それ以外の場合は false
。
HString::operator<
演算子
1 つ目のパラメーターが 2 つ目のパラメーターより小さいかどうかを示します。
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
パラメーター
lhs
比較する最初のパラメーター。 lhs は、HString
の参照にすることができます。
rhs
比較する 2 番目のパラメーター。 rhs は、HString
の参照にすることができます。
戻り値
lhs パラメーターが rhs パラメーターより小さい場合は true
。それ以外の場合は false
。
HString::Release
基になる文字列値を削除し、現在の HString
オブジェクトを空の値に初期化します。
void Release() throw()
HString::Set
現在の HString
オブジェクトの値を、指定したワイド文字の文字列または HString
パラメーターに設定します。
HRESULT Set(
const wchar_t* str) throw();
HRESULT Set(
const wchar_t* str,
unsigned int len
) throw();
HRESULT Set(
const HSTRING& hstr
) throw();
パラメーター
str
ワイド文字の文字列。
len
現在の HString
オブジェクトに割り当てられている str パラメーターの最大の長さ。
hstr
既存の HString
オブジェクトです。