std::experimental:: observer_ptr
|
Определено в заголовке
<experimental/memory>
|
||
|
template
<
class
W
>
class observer_ptr ; |
(техническая спецификация библиотеки fundamentals v2) | |
std::experimental::observer_ptr
является неуправляющим указателем, или
наблюдателем
. Наблюдатель хранит указатель на второй объект, известный как
наблюдаемый объект
.
observer_ptr
также может не иметь наблюдаемого объекта.
Наблюдатель никоим образом не несет ответственности за наблюдаемый объект; между наблюдателем и объектом, за которым он наблюдает, нет внутренней связи.
Он предназначен как почти полная замена сырым указателям, с тем преимуществом, что, будучи словарным типом, он указывает на предполагаемое использование без необходимости детального анализа читателями кода.
Специализации
observer_ptr
удовлетворяют требованиям
CopyConstructible
и
CopyAssignable
.
| Требования к типам | ||
-
W
не должен быть ссылочным типом, но может быть неполным типом.
|
Содержание |
Типы членов
| Тип члена | Определение |
| element_type |
W
, тип объекта, за которым наблюдает этот
observer_ptr
|
Функции-члены
создает новый
observer_ptr
(публичная функция-член) |
|
|
(destructor)
(неявно объявлен)
|
уничтожает
observer_ptr
(публичная функция-член) |
|
operator=
(неявно объявлен)
|
неявно объявленные операторы копирующего и перемещающего присваивания, которые присваивают сохраненный указатель
(публичная функция-член) |
Модификаторы |
|
|
возвращает указатель на наблюдаемый объект и прекращает наблюдение за объектом
(публичная функция-член) |
|
|
заменяет наблюдаемый объект
(публичная функция-член) |
|
|
обменивает наблюдаемые объекты
(публичная функция-член) |
|
Наблюдатели |
|
|
возвращает указатель на наблюдаемый объект
(публичная функция-член) |
|
|
проверяет, есть ли связанный наблюдаемый объект
(публичная функция-член) |
|
|
разыменовывает указатель на наблюдаемый объект
(публичная функция-член) |
|
Преобразования |
|
|
явная функция преобразования в сохраненный указатель
(публичная функция-член) |
|
Функции, не являющиеся членами класса
создает
observer_ptr
, который наблюдает за объектом
(шаблон функции) |
|
сравнивает с другим
observer_ptr
или с
nullptr
(шаблон функции) |
|
специализирует алгоритм
swap
(шаблон функции) |
Вспомогательные классы
Поддержка хеширования для
observer_ptr
(специализация шаблона класса) |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |