...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::function_base — The common base class for all Boost.Function objects. Objects of type function_base may not be created directly.
// In header: <boost/function.hpp> class function_base { public: // capacity bool empty() const; // target access template<typename Functor> Functor* target(); template<typename Functor> const Functor* target() const; template<typename Functor> bool contains(const Functor&) const; const std::type_info& target_type() const; };
function_base
target accesstemplate<typename Functor> Functor* target(); template<typename Functor> const Functor* target() const;
Returns: |
If this stores a target of type
Functor , returns the address of the
target. Otherwise, returns the NULL
pointer. |
Throws: |
Will not throw. |
template<typename Functor> bool contains(const Functor& f) const;
Returns: |
true if this->target<Functor>() is non-NULL and function_equal(*(this->target<Functor>()), f)
|
const std::type_info& target_type() const;
Returns: |
typeid of the target function object, or typeid(void) if this->empty() . Works even with RTTI off. |
Throws: |
Will not throw. |