# tr1_impl/functional File Reference

Go to the source code of this file.

## Classes

- struct std::__is_location_invariant< _Tp >
- struct std::_Derives_from_binary_function< _Tp >
    Determines if the type _Tp derives from binary_function. More...
- struct std::_Derives_from_unary_function< _Tp >
    Determines if the type _Tp derives from unary_function. More...
- class std::_Function_base
    Base class of all polymorphic function object wrappers. More...
- struct std::_Function_to_function_pointer< _Tp, _IsFunctionType >
    Turns a function type into a function pointer type. More...
- class std::_Has_result_type_helper< _Tp >
- struct std::_Index_tuple< _Indexes >
- struct std::_Maybe_get_result_type< _Has_result_type, _Functor >
    If we have found a result_type, extract it. More...
- struct std::_Maybe_unary_or_binary_function< _Res, _ArgTypes >
- struct std::_Maybe_unary_or_binary_function< _Res, _T1 >
    Derives from `unary_function`, as appropriate. More...
- struct std::_Maybe_unary_or_binary_function< _Res, _T1, _T2 >
    Derives from `binary_function`, as appropriate. More...
- struct std::_Maybe_wrap_member_pointer< _Tp >
- struct std::_Maybe_wrap_member_pointer< _Tp _Class::* >
- class std::_Mem_fn< _Res(_Class::*)(_ArgTypes...) const >
    Implementation of `mem_fn` for const member function pointers. More...
- class std::_Mem_fn< _Res(_Class::*)(_ArgTypes...) const volatile >
    Implementation of `mem_fn` for const volatile member function pointers. More...
- class std::_Mem_fn< _Res(_Class::*)(_ArgTypes...) volatile >
    Implementation of `mem_fn` for volatile member function pointers. More...
- class std::_Mem_fn< _Res(_Class::*)(_ArgTypes...)>
    Implementation of `mem_fn` for member function pointers. More...
- class std::_Mu< _Arg, false, false >
- class std::_Mu< _Arg, false, true >
- class std::_Mu< _Arg, true, false >
- class std::_Mu< reference_wrapper< _Tp >, false, false >
- struct std::_Placeholder< _Num >
    The type of placeholder objects defined by libstdc++. More...
- struct std::_Reference_wrapper_base< _Tp >
- struct std::_Result_of_impl< false, _Functor()>
- struct std::_Result_of_impl< false, _Functor(_ArgTypes...)>
- struct std::_Result_of_impl< true, _Functor(_ArgTypes...)>
    We already know the result type for `Functor`; use it. More...
- struct std::_Safe_tuple_element< __i, _Tuple >
- struct std::_Safe_tuple_element_impl< __i, _Tuple, _IsSafe >
- struct std::_Safe_tuple_element_impl< __i, _Tuple, false >
- struct std::_Weak_result_type< _Functor >
- struct std::_Weak_result_type_impl< _Functor >
- struct std::_Weak_result_type_impl< _Res(&)(_ArgTypes...)>
    Retrieve the result type for a function reference. More...
- struct std::_Weak_result_type_impl< _Res(*)(_ArgTypes...)>
    Retrieve the result type for a function pointer. More...
- struct std::_Weak_result_type_impl< _Res(_ArgTypes...)>
    Retrieve the result type for a function type. More...
- struct std::_Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...) const >
    Retrieve result type for a const member function pointer. More...
- struct std::_Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...) const volatile >
    Retrieve result type for a const volatile member function pointer. More...
- struct std::_Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...) volatile >
    Retrieve result type for a volatile member function pointer. More...
- struct std::_Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...)>
    Retrieve result type for a member function pointer. More...
- class std::bad_function_call
    Exception class thrown when class template function's operator() is called with an empty target. More...
- class std::function< _Res(_ArgTypes...)>
    class function More...
- struct std::is_bind_expression< _Tp >
    Determines if the given type _Tp is a function object should be treated as a subexpression when evaluating calls to function objects returned by bind(). [TR1 3.6.1]. More...
- struct std::is_bind_expression< _Bind< _Signature > >
    Class template _Bind is always a bind expression. More...
- struct std::is_bind_expression< _Bind_result< _Result, _Signature > >
    Class template _Bind_result is always a bind expression. More...
- struct std::is_placeholder< _Tp >
    Determines if the given type _Tp is a placeholder in a bind() expression and, if so, which placeholder it is. [TR1 3.6.2]. More...
- struct std::is_placeholder< _Placeholder< _Num > >
- class std::reference_wrapper< _Tp >
    reference_wrapper More...
- class std::result_of< _Functor(_ArgTypes...)>

## Namespaces

- namespace std
- namespace std::placeholders

## Enumerations

- enum _Manager_operation { __get_type_info, __get_functor_ptr, __clone_functor, __destroy_functor }

## Functions

- template<typename _Member , typename _Class > _Mem_fn< _Member _Class::* > std::__callable_functor (_Member _Class::*const &__p)
- template<typename _Member , typename _Class > _Mem_fn< _Member _Class::* > std::__callable_functor (_Member _Class::*&__p)
- template<typename _Functor > _Functor & std::__callable_functor (_Functor &__f)
- template<typename _Functor , typename... _Args> __gnu_cxx::__enable_if
  < (is_pointer< _Functor >
  ::value &&is_function
  < typename remove_pointer
  < _Functor >::type >::value),
  typename result_of< _Functor(_Args...)>
  ::type >::__type std::__invoke (_Functor __f, _Args &...__args)
- template<typename _Functor , typename... _Args> __gnu_cxx::__enable_if
  < (!is_member_pointer
  < _Functor >::value
  &&!is_function< _Functor >
  ::value &&!is_function
  < typename remove_pointer
  < _Functor >::type >::value),
  typename result_of< _Functor(_Args...)>
  ::type >::__type std::__invoke (_Functor &__f, _Args &...__args)
- template<typename _Functor , typename... _ArgTypes> _Bind< typename
  _Maybe_wrap_member_pointer
  < _Functor >::type(_ArgTypes...)> std::bind (_Functor __f, _ArgTypes...__args)
- template<typename _Tp > reference_wrapper< const _Tp > std::cref (reference_wrapper< _Tp > __t)
- template<typename _Tp > reference_wrapper< const _Tp > std::cref (const _Tp &__t)
- template<typename _Tp , typename _Class > _Mem_fn< _Tp _Class::* > std::mem_fn (_Tp _Class::*__pm)
- template<typename _Signature > bool std::operator!= (_M_clear_type *, const function< _Signature > &__f)
- template<typename _Signature > bool std::operator!= (const function< _Signature > &__f, _M_clear_type *)
- template<typename _Signature > bool std::operator== (_M_clear_type *, const function< _Signature > &__f)
- template<typename _Signature > bool std::operator== (const function< _Signature > &__f, _M_clear_type *)
- template<typename _Tp > reference_wrapper< _Tp > std::ref (reference_wrapper< _Tp > __t)
- template<typename _Tp > reference_wrapper< _Tp > std::ref (_Tp &__t)
- template<typename _Signature > void std::swap (function< _Signature > &__x, function< _Signature > &__y)

## Detailed Description

This is an internal header file, included by other library headers. You should not attempt to use it directly.

Definition in file tr1_impl/functional.