Класс HString
Вспомогательный класс для управления временем существования HSTRING с помощью шаблона RAII.
Синтаксис
class HString;
Замечания
Среда выполнения Windows предоставляет доступ к строкам через дескриптор HSTRING. Класс HString
предоставляет удобные функции и операторы для упрощения использования дескрипторов HSTRING. Этот класс может обрабатывать время существования HSTRING, принадлежающее ему с помощью шаблона RAII.
Участники
Открытые конструкторы
Имя | Описание |
---|---|
HString::HString | Инициализирует новый экземпляр класса HString . |
HString::~HString | Уничтожает текущий HString экземпляр класса. |
Открытые методы
Имя | Описание |
---|---|
HString::Attach | Связывает указанный HString объект с текущим HString объектом. |
HString::CopyTo | Копирует текущий HString объект в объект HSTRING. |
HString::D etach | Отсоединяет указанный 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== | Указывает, равны ли два параметра. |
HString::operator!= | Указывает, равны ли два параметра. |
HString::operator< |
Указывает, меньше ли первый параметр, чем второй параметр. |
Иерархия наследования
HString
Требования
Заголовок: corewrappers.h
Пространство имен: Microsoft::WRL::Оболочки
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::D etach
Отсоединяет указанный 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;
Параметры
Указатель длины на int
переменную, которая получает длину данных.
Возвращаемое значение
Указатель const
на базовые строковые данные.
HString::HString
Инициализирует новый экземпляр класса HString
.
HString() throw();
HString(HString&& other) throw();
Параметры
hstr
Дескриптор HSTRING.
other
Существующий объект HString
.
Замечания
Первый конструктор инициализирует новый HString
объект, пустой.
Второй конструктор инициализирует новый HString
объект в значение существующего другого параметра, а затем уничтожает другой параметр.
HString::IsValid
Указывает, является ли текущий HString
объект пустым или нет.
bool IsValid() const throw()
Параметры
true
Значение , если текущий HString
объект не пуст; в противном случае 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.
Возвращаемое значение
Объект HStringReference
, значение которого совпадает с указанным параметром str .
Оператор HString::operator=
Перемещает значение другого HString
объекта в текущий HString
объект.
HString& operator=(HString&& other) throw()
Параметры
other
Существующий объект HString
.
Замечания
Значение существующего другого объекта копируется в текущий HString
объект, а затем уничтожается другой объект.
Оператор HString::operator==
Указывает, равны ли два параметра.
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
Второй параметр для сравнения.rhs может быть HString
объектом или HStringReference
дескриптором HSTRING.
Возвращаемое значение
true
Значение , false
если параметры lhs и rhs равны; в противном случае .
Оператор HString::operator!=
Указывает, равны ли два параметра.
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
Второй параметр для сравнения.rhs может быть HString
объектом или HStringReference
дескриптором HSTRING.
Возвращаемое значение
true
Значение false
.
Оператор HString::operator<
Указывает, меньше ли первый параметр, чем второй параметр.
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
Параметры
lhs
Первый параметр для сравнения. lhs может быть ссылкой на объект HString
.
rhs
Второй параметр для сравнения. rhs может быть ссылкой на объект HString
.
Возвращаемое значение
true
Значение , если параметр lhs меньше параметра rhs; в противном случае 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
Максимальная длина параметра str , назначенного текущему HString
объекту.
hstr
Существующий объект HString
.