Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
function_base.hpp File Reference
#include <stdexcept>
#include <string>
#include <memory>
#include <new>
#include <boost/config.hpp>
#include <boost/detail/sp_typeinfo.hpp>
#include <boost/assert.hpp>
#include <boost/integer.hpp>
#include <boost/type_traits/has_trivial_copy.hpp>
#include <boost/type_traits/has_trivial_destructor.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_volatile.hpp>
#include <boost/type_traits/composite_traits.hpp>
#include <boost/type_traits/ice.hpp>
#include <boost/ref.hpp>
#include <boost/mpl/if.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/type_traits/alignment_of.hpp>
#include "boost/utility/enable_if.hpp"
#include <boost/function_equal.hpp>
#include <boost/function/function_fwd.hpp>
Include dependency graph for function_base.hpp:

Classes

union  boost::detail::function::function_buffer
 A buffer used to store small function objects in boost::function. More...
 
struct  boost::detail::function::function_buffer::type_t
 
struct  boost::detail::function::function_buffer::bound_memfunc_ptr_t
 
struct  boost::detail::function::function_buffer::obj_ref_t
 
struct  boost::detail::function::unusable
 The unusable class is a placeholder for unused function arguments It is also completely unusable except that it constructable from anything. More...
 
struct  boost::detail::function::function_return_type< T >
 
struct  boost::detail::function::function_return_type< void >
 
struct  boost::detail::function::function_ptr_tag
 
struct  boost::detail::function::function_obj_tag
 
struct  boost::detail::function::member_ptr_tag
 
struct  boost::detail::function::function_obj_ref_tag
 
class  boost::detail::function::get_function_tag< F >
 
struct  boost::detail::function::reference_manager< F >
 
struct  boost::detail::function::function_allows_small_object_optimization< F >
 Determine if boost::function can use the small-object optimization with the function object type F. More...
 
struct  boost::detail::function::functor_wrapper< F, A >
 
struct  boost::detail::function::functor_manager_common< Functor >
 The functor_manager class contains a static function "manage" which can clone or destroy the given function/function object pointer. More...
 
struct  boost::detail::function::functor_manager< Functor >
 
struct  boost::detail::function::functor_manager_a< Functor, Allocator >
 
struct  boost::detail::function::useless_clear_type
 
struct  boost::detail::function::vtable_base
 Stores the "manager" portion of the vtable for a boost::function object. More...
 
class  boost::function_base
 The function_base class contains the basic elements needed for the function1, function2, function3, etc. More...
 
class  boost::bad_function_call
 The bad_function_call exception class is thrown when a boost::function object is invoked. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::detail
 
 boost::detail::function
 

Macros

#define BOOST_FUNCTION_STD_NS   std
 
#define BOOST_FUNCTION_COMPARE_TYPE_ID(X, Y)   ((X)==(Y))
 
#define BOOST_FUNCTION_TARGET_FIX(x)
 
#define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, Type)
 

Enumerations

enum  boost::detail::function::functor_manager_operation_type {
  boost::detail::function::clone_functor_tag,
  boost::detail::function::move_functor_tag,
  boost::detail::function::destroy_functor_tag,
  boost::detail::function::check_functor_type_tag,
  boost::detail::function::get_functor_type_tag
}
 

Functions

bool boost::operator== (const function_base &f, detail::function::useless_clear_type *)
 
bool boost::operator!= (const function_base &f, detail::function::useless_clear_type *)
 
bool boost::operator== (detail::function::useless_clear_type *, const function_base &f)
 
bool boost::operator!= (detail::function::useless_clear_type *, const function_base &f)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator== (const function_base &f, Functor g)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator== (Functor g, const function_base &f)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator!= (const function_base &f, Functor g)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator!= (Functor g, const function_base &f)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator== (const function_base &f, reference_wrapper< Functor > g)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator== (reference_wrapper< Functor > g, const function_base &f)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator!= (const function_base &f, reference_wrapper< Functor > g)
 
template<typename Functor >
typename::boost::enable_if_c
<(::boost::type_traits::ice_not
< (::boost::is_integral
< Functor >::value)>::value),
bool >::type 
boost::operator!= (reference_wrapper< Functor > g, const function_base &f)
 
bool boost::detail::function::has_empty_target (const function_base *f)
 
bool boost::detail::function::has_empty_target (...)
 

Macro Definition Documentation

#define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL (   Functor,
  Type 
)
Value:
typename ::boost::enable_if_c<(::boost::type_traits::ice_not< \
Type>::type
typed_value< T > * value()
Creates a typed_value instance.
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_FUNCTION_STD_NS   std
#define BOOST_FUNCTION_TARGET_FIX (   x)