CLASS TEM(3)

NAME
boost::apply_visitor_delayed_t - Adapts a visitor for use as a function object.

SYNOPSIS

// In header: <boost/variant/apply_visitor.hpp>
template<typename Visitor>
class apply_visitor_delayed_t {
public:
  // types
  typedef typename Visitor::result_type result_type;
  // construct/copy/destruct
  explicit apply_visitor_delayed_t(Visitor &);
  // function object interface
  template<typename Variant> result_type operator()(Variant &);
  template<typename Variant1, typename Variant2>
    result_type operator()(Variant1 &, Variant2 &);
};

DESCRIPTION

Adapts the function given at construction for use as a function object. This is useful, for example, when one needs to operate on each element of a sequence of variant objects using a standard library algorithm such as std::for_each.

See the "visitor-only" form of apply_visitor for a simple way to create apply_visitor_delayed_t objects.

  apply_visitor_delayed_t public construct/copy/destruct

    1.

    explicit apply_visitor_delayed_t(Visitor & visitor);

    Effects:
        Constructs the function object with the given visitor.

  apply_visitor_delayed_t function object interface

    1.

    template<typename Variant> result_type operator()(Variant & operand);
    template<typename Variant1, typename Variant2>
      result_type operator()(Variant1 & operand1, Variant2 & operand2);

    Function call operator.Invokes apply_visitor on the stored visitor using the given operands.