# tr1_impl/functional File Reference

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

Go to the source code of this file.

## Namespaces

- namespace std
- namespace std::placeholders

## Classes

- struct std::__is_location_invariant< _Tp >
- struct std::__is_location_invariant< _Simple_type_wrapper< _Tp > >
- union std::_Any_data
- class std::_Bind< _Functor(_Bound_args...)>
- class std::_Bind_result< _Result, _Functor(_Bound_args...)>
- struct std::_Build_index_tuple< 0, _Index_tuple< _Indexes...> >
- struct std::_Build_index_tuple< _Num, _Index_tuple< _Indexes...> >
- 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...
- class std::_Function_base::_Base_manager< _Functor >
- class std::_Function_base::_Ref_manager< _Functor >
- class std::_Function_handler< _Res(_ArgTypes...), _Functor >
- class std::_Function_handler< _Res(_ArgTypes...), _Member _Class::* >
- class std::_Function_handler< _Res(_ArgTypes...), reference_wrapper< _Functor > >
- class std::_Function_handler< void(_ArgTypes...), _Functor >
- class std::_Function_handler< void(_ArgTypes...), _Member _Class::* >
- class std::_Function_handler< void(_ArgTypes...), reference_wrapper< _Functor > >
- struct std::_Function_to_function_pointer< _Tp, _IsFunctionType >
    Turns a function type into a function pointer type. More...
- struct std::_Function_to_function_pointer< _Tp, true >
- struct std::_Has_result_type< _Tp >
- 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_get_result_type< true, _Functor >
- 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::* >
- struct std::_Mem_fn< _Res _Class::* >::_Result_type< _Tp >
- struct std::_Mem_fn< _Res _Class::* >::result< _CVMem(_Tp &)>
- struct std::_Mem_fn< _Res _Class::* >::result< _CVMem(_Tp)>
- 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...
- struct std::_Mem_fn_const_or_non< _Tp, >
- struct std::_Mem_fn_const_or_non< _Tp, false >
- class std::_Mu< _Arg, false, false >
- struct std::_Mu< _Arg, false, false >::result< _CVMu(_CVArg, _Tuple)>
- class std::_Mu< _Arg, false, true >
- class std::_Mu< _Arg, false, true >::result< _CVMu(_CVArg, _Tuple)>
- class std::_Mu< _Arg, true, false >
- class std::_Mu< _Arg, true, false >::result< _CVMu(_CVArg, tuple< _Args...>)>
- class std::_Mu< reference_wrapper< _Tp >, false, false >
- union std::_Nocopy_types
- struct std::_Placeholder< _Num >
    The type of placeholder objects defined by libstdc++. More...
- struct std::_Reference_wrapper_base< _Tp >
- struct std::_Reference_wrapper_base< _Res(*)(_T1)>
- struct std::_Reference_wrapper_base< _Res(*)(_T1, _T2)>
- struct std::_Reference_wrapper_base< _Res(_T1)>
- struct std::_Reference_wrapper_base< _Res(_T1, _T2)>
- struct std::_Reference_wrapper_base< _Res(_T1::*)() const >
- struct std::_Reference_wrapper_base< _Res(_T1::*)() const volatile >
- struct std::_Reference_wrapper_base< _Res(_T1::*)() volatile >
- struct std::_Reference_wrapper_base< _Res(_T1::*)()>
- struct std::_Reference_wrapper_base< _Res(_T1::*)(_T2) const >
- struct std::_Reference_wrapper_base< _Res(_T1::*)(_T2) const volatile >
- struct std::_Reference_wrapper_base< _Res(_T1::*)(_T2) volatile >
- struct std::_Reference_wrapper_base< _Res(_T1::*)(_T2)>
- struct std::_Reference_wrapper_base_impl< false, false, _Tp >
- struct std::_Reference_wrapper_base_impl< false, true, _Tp >
- struct std::_Reference_wrapper_base_impl< true, false, _Tp >
- struct std::_Reference_wrapper_base_impl< true, true, _Tp >
- struct std::_Result_of_impl< false, _Functor()>
- struct std::_Result_of_impl< false, _Functor(_ArgTypes...)>
- struct std::_Result_of_impl< false, _Res _Class::*(_T1)>
- 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::_Simple_type_wrapper< _Tp >
- 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...)>

## Enumerations

- enum std::_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)

## Variables

- _Placeholder< 1 > std::placeholders::_1
- _Placeholder< 10 > std::placeholders::_10
- _Placeholder< 11 > std::placeholders::_11
- _Placeholder< 12 > std::placeholders::_12
- _Placeholder< 13 > std::placeholders::_13
- _Placeholder< 14 > std::placeholders::_14
- _Placeholder< 15 > std::placeholders::_15
- _Placeholder< 16 > std::placeholders::_16
- _Placeholder< 17 > std::placeholders::_17
- _Placeholder< 18 > std::placeholders::_18
- _Placeholder< 19 > std::placeholders::_19
- _Placeholder< 2 > std::placeholders::_2
- _Placeholder< 20 > std::placeholders::_20
- _Placeholder< 21 > std::placeholders::_21
- _Placeholder< 22 > std::placeholders::_22
- _Placeholder< 23 > std::placeholders::_23
- _Placeholder< 24 > std::placeholders::_24
- _Placeholder< 25 > std::placeholders::_25
- _Placeholder< 26 > std::placeholders::_26
- _Placeholder< 27 > std::placeholders::_27
- _Placeholder< 28 > std::placeholders::_28
- _Placeholder< 29 > std::placeholders::_29
- _Placeholder< 3 > std::placeholders::_3
- _Placeholder< 4 > std::placeholders::_4
- _Placeholder< 5 > std::placeholders::_5
- _Placeholder< 6 > std::placeholders::_6
- _Placeholder< 7 > std::placeholders::_7
- _Placeholder< 8 > std::placeholders::_8
- _Placeholder< 9 > std::placeholders::_9