Класс 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() throw()
Связывает указанный HString
объект с текущим HString
объектом.
void Attach(
HSTRING hstr
) throw()
hstr
Существующий объект HString
.
Копирует текущий HString
объект в объект HSTRING.
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
str
HSTRING, получающий копию.
Этот метод вызывает функцию WindowsDuplicateString .
Отсоединяет указанный HString
объект от его базового значения.
HSTRING Detach() throw()
Базовое HString
значение перед началом операции отсоединения.
Извлекает значение базового дескриптора HSTRING.
HSTRING Get() const throw()
Значение базового дескриптора HSTRING.
Извлекает указатель на базовый дескриптор HSTRING.
HSTRING* GetAddressOf() throw()
Указатель на базовый дескриптор HSTRING.
После этой операции строковое значение базового дескриптора HSTRING будет уничтожено.
Извлекает указатель на базовые строковые данные.
const wchar_t* GetRawBuffer(unsigned int* length) const;
Указатель длины на int
переменную, которая получает длину данных.
Указатель const
на базовые строковые данные.
Инициализирует новый экземпляр класса HString
.
HString() throw();
HString(HString&& other) throw();
hstr
Дескриптор HSTRING.
other
Существующий объект HString
.
Первый конструктор инициализирует новый HString
объект, пустой.
Второй конструктор инициализирует новый HString
объект в значение существующего другого параметра, а затем уничтожает другой параметр.
Указывает, является ли текущий HString
объект пустым или нет.
bool IsValid() const throw()
true
Значение , если текущий HString
объект не пуст; в противном случае false
.
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
объекта в текущий HString
объект.
HString& operator=(HString&& other) throw()
other
Существующий объект HString
.
Значение существующего другого объекта копируется в текущий HString
объект, а затем уничтожается другой объект.
Указывает, равны ли два параметра.
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 равны; в противном случае .
Указывает, равны ли два параметра.
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
.
Указывает, меньше ли первый параметр, чем второй параметр.
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
lhs
Первый параметр для сравнения. lhs может быть ссылкой на объект HString
.
rhs
Второй параметр для сравнения. rhs может быть ссылкой на объект HString
.
true
Значение , если параметр lhs меньше параметра rhs; в противном случае false
.
Удаляет базовое строковое значение и инициализирует текущий HString
объект в пустое значение.
void Release() throw()
Задает значение текущего 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
.