Class template apply_visitor_delayed_t
boost::apply_visitor_delayed_t — Adapts a visitor for use as a function object.
Synopsis
template<typename Visitor>
class apply_visitor_delayed_t {
public:
typedef typename Visitor::result_type result_type;
explicit apply_visitor_delayed_t(Visitor &);
template<typename ... Variant> result_type operator()(Variant&...);
template<typename Variant> result_type operator()(Variant &);
template<typename Variant1, typename Variant2>
result_type operator()(Variant1 &, Variant2 &);
};
Description
Адаптация функции, заданной при строительстве, для использования в качестве функционального объекта. Это полезно, например, когда необходимо оперировать каждым элементом последовательности вариантов объектов с помощью стандартного библиотечного алгоритма, такого как<std::for_each
>.
См. форму<apply_visitor
>для простого способа создания<apply_visitor_delayed_t
>объектов.
См.<apply_visitor_delayed_cpp14_t
>, который используется на компиляторах, совместимых с C++14, когда<Visitor
>не имеет<result_type
>typedef.
apply_visitor_delayed_t
public
construct/copy/destruct
- <
explicitapply_visitor_delayed_t(Visitor&visitor);
>Эффекты: | Построение функционального объекта с данным посетителем. |
apply_visitor_delayed_t
function object interface
- <
template<typename... Variant>result_typeoperator()(Variant&...operand);
template<typenameVariant>result_typeoperator()(Variant&operand);
template<typenameVariant1,typenameVariant2>
result_typeoperator()(Variant1&operand1,Variant2&operand2);
>Функция оператора вызова.Призывает<apply_visitor
>на хранимого посетителя, используя данные операнды.