Композитный регистратор - это класс помощников, который упрощает композицию в конечном регистраторе. Ожидается, что класс регистратора пользователя будет получен из композитного класса регистратора, инстанцированного с типом символа, классом регистратора пользователя, моделью резьбы и списком необходимых функций. Первые три параметра передаются в шаблон класса<basic_logger>. Список признаков должен быть последовательностью типа MPL, где каждый элемент является унарным классом метафункций MPL, что при применении к его аргументу приводит к классу признаков регистрации, который вытекает из аргумента. Каждая функция регистратора, предоставляемая библиотекой, может участвовать в списке функций.
basic_composite_logger
public
construct/copy/destruct
<
basic_composite_logger();
>
Конструктор по умолчанию (по умолчанию конструирует все функции)
Способ добавляет атрибут к набору атрибутов, специфичных для источника. Атрибут будет неявно добавлен к каждой записи журнала, сделанной с текущим регистратором.
Параметры:
<attr>
Фабрика атрибутов.
<name>
Имя атрибута.
Возврат:
Пара значений. Если второй член<true>, то атрибут добавляется, и первый член указывает на атрибут. В противном случае атрибут не был добавлен, и первый член указывает на атрибут, который предотвращает добавление.
<
voidremove_attribute(attribute_set::iteratorit);
>
Способ удаляет атрибут из набора атрибутов, специфичных для источника.
Параметры:
<it>
Итератор к ранее добавленному атрибуту.
Требуется:
Атрибут был добавлен с вызовом add_attribute для этого экземпляра регистратора.
Постусловия:
Атрибут больше не регистрируется как атрибут источника для этого регистратора. Итератор недействителен после удаления
.
<
voidremove_all_attributes();
>
Метод удаляет все атрибуты из регистратора. Все итераторы и ссылки на удаленные атрибуты недействительны.
<
attribute_setget_attributes()const;
>
Способ извлекает копию набора со всеми атрибутами из регистратора.
Возврат:
Копия набора атрибутов. Атрибуты мелкокопированы.
<
voidset_attributes(attribute_setconst&attrs);
>
Метод устанавливает весь атрибут, установленный в регистраторе. Все итераторы и ссылки на элементы предыдущего набора недействительны. Итераторы к наборуаттрнедействительны для использования с регистратором (то есть регистратор владеет копиейаттрпосле завершения).
Параметры:
<attrs>
Набор атрибутов для установки в регистратор. Атрибуты мелкокопированы.
<
recordopen_record();
>
Способ открывает новую лог-запись в бревенчатом ядре.
Возвращение:
Действительная ручка записи, если запись регистрации успешно открыта, недействительная ручка в противном случае.