Class template visitor_ptr_t

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


Synopsis

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 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.
    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.

Copyright © 2002, 2003 Eric Friedman, Itay Maman
Permission to copy, use, sell and distribute this software is granted provided this copyright notice appears in all copies. Permission to modify the code and to distribute modified code is granted provided this copyright notice appears in all copies, and a notice that the code was modified is included with the copyright notice. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.

Top