forked from boostorg/function
Merge to master for 1.59.0 release
This commit is contained in:
@ -25,7 +25,6 @@
|
|||||||
#include <boost/type_traits/is_integral.hpp>
|
#include <boost/type_traits/is_integral.hpp>
|
||||||
#include <boost/type_traits/is_volatile.hpp>
|
#include <boost/type_traits/is_volatile.hpp>
|
||||||
#include <boost/type_traits/composite_traits.hpp>
|
#include <boost/type_traits/composite_traits.hpp>
|
||||||
#include <boost/type_traits/ice.hpp>
|
|
||||||
#include <boost/ref.hpp>
|
#include <boost/ref.hpp>
|
||||||
#include <boost/mpl/if.hpp>
|
#include <boost/mpl/if.hpp>
|
||||||
#include <boost/detail/workaround.hpp>
|
#include <boost/detail/workaround.hpp>
|
||||||
@ -72,19 +71,10 @@
|
|||||||
# define BOOST_FUNCTION_TARGET_FIX(x)
|
# define BOOST_FUNCTION_TARGET_FIX(x)
|
||||||
#endif // __ICL etc
|
#endif // __ICL etc
|
||||||
|
|
||||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)
|
|
||||||
# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \
|
# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \
|
||||||
typename ::boost::enable_if_c<(::boost::type_traits::ice_not< \
|
typename ::boost::enable_if_c< \
|
||||||
(::boost::is_integral<Functor>::value)>::value), \
|
!(::boost::is_integral<Functor>::value), \
|
||||||
Type>::type
|
Type>::type
|
||||||
#else
|
|
||||||
// BCC doesn't recognize this depends on a template argument and complains
|
|
||||||
// about the use of 'typename'
|
|
||||||
# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \
|
|
||||||
::boost::enable_if_c<(::boost::type_traits::ice_not< \
|
|
||||||
(::boost::is_integral<Functor>::value)>::value), \
|
|
||||||
Type>::type
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
@ -717,9 +717,8 @@ namespace boost {
|
|||||||
template<typename Functor>
|
template<typename Functor>
|
||||||
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f
|
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f
|
||||||
#ifndef BOOST_NO_SFINAE
|
#ifndef BOOST_NO_SFINAE
|
||||||
,typename enable_if_c<
|
,typename boost::enable_if_c<
|
||||||
(boost::type_traits::ice_not<
|
!(is_integral<Functor>::value),
|
||||||
(is_integral<Functor>::value)>::value),
|
|
||||||
int>::type = 0
|
int>::type = 0
|
||||||
#endif // BOOST_NO_SFINAE
|
#endif // BOOST_NO_SFINAE
|
||||||
) :
|
) :
|
||||||
@ -730,9 +729,8 @@ namespace boost {
|
|||||||
template<typename Functor,typename Allocator>
|
template<typename Functor,typename Allocator>
|
||||||
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
|
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
|
||||||
#ifndef BOOST_NO_SFINAE
|
#ifndef BOOST_NO_SFINAE
|
||||||
,typename enable_if_c<
|
,typename boost::enable_if_c<
|
||||||
(boost::type_traits::ice_not<
|
!(is_integral<Functor>::value),
|
||||||
(is_integral<Functor>::value)>::value),
|
|
||||||
int>::type = 0
|
int>::type = 0
|
||||||
#endif // BOOST_NO_SFINAE
|
#endif // BOOST_NO_SFINAE
|
||||||
) :
|
) :
|
||||||
@ -780,9 +778,8 @@ namespace boost {
|
|||||||
// construct.
|
// construct.
|
||||||
template<typename Functor>
|
template<typename Functor>
|
||||||
#ifndef BOOST_NO_SFINAE
|
#ifndef BOOST_NO_SFINAE
|
||||||
typename enable_if_c<
|
typename boost::enable_if_c<
|
||||||
(boost::type_traits::ice_not<
|
!(is_integral<Functor>::value),
|
||||||
(is_integral<Functor>::value)>::value),
|
|
||||||
BOOST_FUNCTION_FUNCTION&>::type
|
BOOST_FUNCTION_FUNCTION&>::type
|
||||||
#else
|
#else
|
||||||
BOOST_FUNCTION_FUNCTION&
|
BOOST_FUNCTION_FUNCTION&
|
||||||
@ -1068,9 +1065,8 @@ public:
|
|||||||
template<typename Functor>
|
template<typename Functor>
|
||||||
function(Functor f
|
function(Functor f
|
||||||
#ifndef BOOST_NO_SFINAE
|
#ifndef BOOST_NO_SFINAE
|
||||||
,typename enable_if_c<
|
,typename boost::enable_if_c<
|
||||||
(boost::type_traits::ice_not<
|
!(is_integral<Functor>::value),
|
||||||
(is_integral<Functor>::value)>::value),
|
|
||||||
int>::type = 0
|
int>::type = 0
|
||||||
#endif
|
#endif
|
||||||
) :
|
) :
|
||||||
@ -1080,9 +1076,8 @@ public:
|
|||||||
template<typename Functor,typename Allocator>
|
template<typename Functor,typename Allocator>
|
||||||
function(Functor f, Allocator a
|
function(Functor f, Allocator a
|
||||||
#ifndef BOOST_NO_SFINAE
|
#ifndef BOOST_NO_SFINAE
|
||||||
,typename enable_if_c<
|
,typename boost::enable_if_c<
|
||||||
(boost::type_traits::ice_not<
|
!(is_integral<Functor>::value),
|
||||||
(is_integral<Functor>::value)>::value),
|
|
||||||
int>::type = 0
|
int>::type = 0
|
||||||
#endif
|
#endif
|
||||||
) :
|
) :
|
||||||
@ -1120,9 +1115,8 @@ public:
|
|||||||
|
|
||||||
template<typename Functor>
|
template<typename Functor>
|
||||||
#ifndef BOOST_NO_SFINAE
|
#ifndef BOOST_NO_SFINAE
|
||||||
typename enable_if_c<
|
typename boost::enable_if_c<
|
||||||
(boost::type_traits::ice_not<
|
!(is_integral<Functor>::value),
|
||||||
(is_integral<Functor>::value)>::value),
|
|
||||||
self_type&>::type
|
self_type&>::type
|
||||||
#else
|
#else
|
||||||
self_type&
|
self_type&
|
||||||
|
Reference in New Issue
Block a user