# tr1/functional File Reference

## Detailed Description

This is a TR1 C++ Library header.

Definition in file tr1/functional.

Go to the source code of this file.

## Namespaces

- namespace std
- namespace std::tr1

## Classes

- struct std::tr1::__is_location_invariant< _Tp >
- struct std::tr1::__is_location_invariant< _Simple_type_wrapper< _Tp > >
- union std::tr1::_Any_data
- struct std::tr1::_Derives_from_binary_function< _Tp >
- struct std::tr1::_Derives_from_unary_function< _Tp >
- class std::tr1::_Function_base
- class std::tr1::_Function_base::_Base_manager< _Functor >
- class std::tr1::_Function_base::_Ref_manager< _Functor >
- struct std::tr1::_Function_to_function_pointer< _Tp, _IsFunctionType >
- struct std::tr1::_Function_to_function_pointer< _Tp, true >
- struct std::tr1::_Has_result_type< _Tp >
- class std::tr1::_Has_result_type_helper< _Tp >
- struct std::tr1::_Maybe_get_result_type< _Has_result_type, _Functor >
- struct std::tr1::_Maybe_get_result_type< true, _Functor >
- struct std::tr1::_Maybe_wrap_member_pointer< _Tp >
- struct std::tr1::_Maybe_wrap_member_pointer< _Tp _Class::* >
- class std::tr1::_Mem_fn< _Res _Class::* >
- struct std::tr1::_Mem_fn< _Res _Class::* >::_Result_type< _Tp >
- struct std::tr1::_Mem_fn< _Res _Class::* >::result< _CVMem(_Tp &)>
- struct std::tr1::_Mem_fn< _Res _Class::* >::result< _CVMem(_Tp)>
- struct std::tr1::_Mem_fn_const_or_non< _Tp, >
- struct std::tr1::_Mem_fn_const_or_non< _Tp, false >
- class std::tr1::_Mu< _Arg, false, false >
- struct std::tr1::_Mu< _Arg, false, false >::result< _CVMu(_CVArg, _Tuple)>
- class std::tr1::_Mu< _Arg, false, true >
- class std::tr1::_Mu< _Arg, false, true >::result< _CVMu(_CVArg, _Tuple)>
- class std::tr1::_Mu< _Arg, true, false >
- class std::tr1::_Mu< reference_wrapper< _Tp >, false, false >
- union std::tr1::_Nocopy_types
- struct std::tr1::_Placeholder< _Num >
- struct std::tr1::_Reference_wrapper_base< _Tp >
- struct std::tr1::_Reference_wrapper_base< _Res(*)(_T1)>
- struct std::tr1::_Reference_wrapper_base< _Res(*)(_T1, _T2)>
- struct std::tr1::_Reference_wrapper_base< _Res(_T1)>
- struct std::tr1::_Reference_wrapper_base< _Res(_T1, _T2)>
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)() const >
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)() const volatile >
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)() volatile >
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)()>
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)(_T2) const >
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)(_T2) const volatile >
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)(_T2) volatile >
- struct std::tr1::_Reference_wrapper_base< _Res(_T1::*)(_T2)>
- struct std::tr1::_Reference_wrapper_base_impl< false, false, _Tp >
- struct std::tr1::_Reference_wrapper_base_impl< false, true, _Tp >
- struct std::tr1::_Reference_wrapper_base_impl< true, false, _Tp >
- struct std::tr1::_Reference_wrapper_base_impl< true, true, _Tp >
- struct std::tr1::_Result_of_impl< false, _Res _Class::*(_T1)>
- struct std::tr1::_Simple_type_wrapper< _Tp >
- struct std::tr1::_Weak_result_type< _Functor >
- struct std::tr1::_Weak_result_type_impl< _Functor >
- class std::tr1::bad_function_call
    Exception class thrown when class template function's operator() is called with an empty target. More...
- struct std::tr1::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::tr1::is_bind_expression< _Bind< _Signature > >
- struct std::tr1::is_bind_expression< _Bind_result< _Result, _Signature > >
- struct std::tr1::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::tr1::is_placeholder< _Placeholder< _Num > >
- class std::tr1::reference_wrapper< _Tp >

## Defines

- #define _GLIBCXX_JOIN(X, Y)
- #define _GLIBCXX_JOIN2(X, Y)
- #define _GLIBCXX_JOIN3(X, Y)
- #define _GLIBCXX_REPEAT_HEADER
- #define _GLIBCXX_REPEAT_HEADER
- #define _GLIBCXX_REPEAT_HEADER
- #define _TR1_FUNCTIONAL

## Enumerations

- enum std::tr1::_Manager_operation { __get_type_info, __get_functor_ptr, __clone_functor, __destroy_functor }

## Functions

- template<typename _Member, typename _Class> _Mem_fn< _Member _Class::* > std::tr1::__callable_functor (_Member _Class::*const &__p)
- template<typename _Member, typename _Class> _Mem_fn< _Member _Class::* > std::tr1::__callable_functor (_Member _Class::*&__p)
- template<typename _Functor> _Functor & std::tr1::__callable_functor (_Functor &__f)
- template<typename _Tp> reference_wrapper< const _Tp > std::tr1::cref (reference_wrapper< _Tp > __t)
- template<typename _Tp> reference_wrapper< const _Tp > std::tr1::cref (const _Tp &__t)
- template<typename _Tp, typename _Class> _Mem_fn< _Tp _Class::* > std::tr1::mem_fn (_Tp _Class::*__pm)
- template<typename _Signature> bool std::tr1::operator!= (_M_clear_type *, const function< _Signature > &__f)
- template<typename _Signature> bool std::tr1::operator!= (const function< _Signature > &__f, _M_clear_type *)
- template<typename _Signature> bool std::tr1::operator== (_M_clear_type *, const function< _Signature > &__f)
- template<typename _Signature> bool std::tr1::operator== (const function< _Signature > &__f, _M_clear_type *)
- template<typename _Tp> reference_wrapper< _Tp > std::tr1::ref (reference_wrapper< _Tp > __t)
- template<typename _Tp> reference_wrapper< _Tp > std::tr1::ref (_Tp &__t)
- template<typename _Signature> void std::tr1::swap (function< _Signature > &__x, function< _Signature > &__y)