CLASS TEMPLATE(3)

NAME
boost::visitor_ptr_t - Adapts a function pointer for use as a static visitor.

SYNOPSIS

// In header: <boost/variant/visitor_ptr.hpp>
template<typename T, typename R>
class visitor_ptr_t : public static_visitor<R> {
public:
  // construct/copy/destruct
  explicit visitor_ptr_t(R (*)(T));
  // static visitor interfaces
  R operator()(unspecified-forwarding-type);
  template<typename U> void operator()(const U&);
};

DESCRIPTION

Adapts the function given at construction for use as a static visitor of type T with result type R.

  visitor_ptr_t public construct/copy/destruct

    1.

    explicit visitor_ptr_t(R (*)(T));

    Effects:
        Constructs the visitor with the given function.

  visitor_ptr_t static visitor interfaces

    1.

    R operator()(unspecified-forwarding-type operand);
    template<typename U> void operator()(const U&);

    Effects:
        If passed a value or reference of type T, it invokes the function given at construction, appropriately forwarding operand.

    Returns:
        Returns the result of the function invocation..RE

        Throws:
            The overload taking a value or reference of type T throws if the invoked function throws. The overload taking all other values always throws bad_visit.