Class template value_ref
boost::log::value_ref — Reference wrapper for a stored attribute value.
Synopsis
Description
Шаблон класса<value_ref
>обеспечивает доступ к сохраненному значению атрибута. Это не традиционная обертка, поскольку она может быть пустой (т.е. не иметь никакого значения), а также может относиться к значениям различных типов. Поэтому его интерфейс и поведение сочетает в себе черты Boost. Ref, Boost.Optional и Boost. Вариант, в зависимости от случая использования.
Параметр шаблона<T
>может представлять собой один тип или последовательность MPL возможных типов. Ссылочная обертка будет действовать либо как необязательная ссылка, либо как необязательный вариант ссылок на указанные типы. В любом случае, указанные значения не могут быть изменены (т.е.<value_ref
>всегда моделирует точку отсчета).
Параметр шаблона<TagT
>является необязательным. Он может быть использован для настройки операций на этой эталонной обертке, таких как помещение упомянутого значения в журнал.
value_ref
public
construct/copy/destruct
- <
value_ref()=default;
>Конструктор по умолчанию. Создает обертку, которая не относится к значению.
- <
value_ref(value_refconst&that)=default;
>Копировать конструктор.
- <
template<typenameU>explicitvalue_ref(Uconst&val)noexcept;
>Инициирование конструктора. Создает эталонную обертку, которая ссылается на указанное значение.
value_ref
public member functions
- <
explicitoperatorbool()constnoexcept;
>Оператор проверяет, относится ли обертка к значению.
- <
booloperator!()constnoexcept;
>Оператор проверяет, не относится ли обертка к значению.
- <
boolempty()constnoexcept;
>Возврат: | <true >, если обертка не относится к значению. |
- <
voidswap(value_ref&that)noexcept;
>Закрывает две обертки