...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::visitor_ptr_t — Adapts a function pointer for use as a static visitor.
// 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&); };
Adapts the function given at construction for use as a
static visitor
of type T
with result type R
.
visitor_ptr_t
static visitor interfacesR 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. |
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 . |