mirror of
https://github.com/boostorg/functional.git
synced 2025-08-02 14:04:27 +02:00
Workarounds for Metrowerks as suggested by Fabrice Truillot.
[SVN r7672]
This commit is contained in:
@@ -16,6 +16,9 @@
|
|||||||
// $Id$
|
// $Id$
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.2 2000/08/01 07:53:58 mark_rodgers
|
||||||
|
// Workarounds for Metrowerks as suggested by Fabrice Truillot.
|
||||||
|
//
|
||||||
// Revision 1.1.1.1 2000/07/07 16:03:47 beman
|
// Revision 1.1.1.1 2000/07/07 16:03:47 beman
|
||||||
// 1.16.1 initial CVS checkin
|
// 1.16.1 initial CVS checkin
|
||||||
//
|
//
|
||||||
@@ -137,7 +140,7 @@ namespace boost
|
|||||||
typedef A1 first_argument_type;
|
typedef A1 first_argument_type;
|
||||||
typedef A2 second_argument_type;
|
typedef A2 second_argument_type;
|
||||||
};
|
};
|
||||||
#else
|
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// If we have no partial specialisation available, decay to a situation
|
// If we have no partial specialisation available, decay to a situation
|
||||||
// that is no worse than in the Standard, i.e., ptr_fun will be required.
|
// that is no worse than in the Standard, i.e., ptr_fun will be required.
|
||||||
@@ -161,7 +164,7 @@ namespace boost
|
|||||||
typedef typename Operation::first_argument_type first_argument_type;
|
typedef typename Operation::first_argument_type first_argument_type;
|
||||||
typedef typename Operation::second_argument_type second_argument_type;
|
typedef typename Operation::second_argument_type second_argument_type;
|
||||||
};
|
};
|
||||||
#endif
|
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// unary_negate, not1
|
// unary_negate, not1
|
||||||
@@ -375,6 +378,7 @@ namespace boost
|
|||||||
return mem_fun1_t<S,T,A>(f);
|
return mem_fun1_t<S,T,A>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||||
template<class S, class T>
|
template<class S, class T>
|
||||||
inline const_mem_fun_t<S,T> mem_fun(S (T::*f)() const)
|
inline const_mem_fun_t<S,T> mem_fun(S (T::*f)() const)
|
||||||
{
|
{
|
||||||
@@ -386,6 +390,7 @@ namespace boost
|
|||||||
{
|
{
|
||||||
return const_mem_fun1_t<S,T,A>(f);
|
return const_mem_fun1_t<S,T,A>(f);
|
||||||
}
|
}
|
||||||
|
#endif // BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// mem_fun_ref, etc
|
// mem_fun_ref, etc
|
||||||
@@ -468,6 +473,7 @@ namespace boost
|
|||||||
return mem_fun1_ref_t<S,T,A>(f);
|
return mem_fun1_ref_t<S,T,A>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||||
template<class S, class T>
|
template<class S, class T>
|
||||||
inline const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const)
|
inline const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const)
|
||||||
{
|
{
|
||||||
@@ -479,6 +485,7 @@ namespace boost
|
|||||||
{
|
{
|
||||||
return const_mem_fun1_ref_t<S,T,A>(f);
|
return const_mem_fun1_ref_t<S,T,A>(f);
|
||||||
}
|
}
|
||||||
|
#endif // BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// ptr_fun
|
// ptr_fun
|
||||||
|
Reference in New Issue
Block a user