mirror of
https://github.com/boostorg/utility.git
synced 2025-08-03 06:44:37 +02:00
Workarounds for broken "compilers" ;-)
[SVN r1204]
This commit is contained in:
@@ -9,7 +9,10 @@
|
||||
# include <boost/utility/addressof.hpp>
|
||||
# include <boost/type_traits/ice.hpp>
|
||||
# include <boost/type.hpp>
|
||||
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/result_of.hpp>
|
||||
# endif
|
||||
# include <boost/preprocessor/iterate.hpp>
|
||||
# include <boost/pending/ct_if.hpp>
|
||||
|
||||
//
|
||||
@@ -42,7 +45,10 @@ class reference_wrapper_without_result_type
|
||||
{
|
||||
public:
|
||||
template<typename F>
|
||||
struct result_of : boost::result_of<F>
|
||||
struct result_of
|
||||
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
: boost::result_of<F>
|
||||
# endif
|
||||
{
|
||||
};
|
||||
|
||||
@@ -50,8 +56,11 @@ public:
|
||||
T& get() const { return *(this->t_); }
|
||||
T* get_pointer() const { return this->t_; }
|
||||
|
||||
# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
&& !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
|
||||
# define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_REF_NUM_ARGS,<boost/detail/ref_iterate.hpp>))
|
||||
# include BOOST_PP_ITERATE()
|
||||
# endif
|
||||
|
||||
protected:
|
||||
# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
||||
@@ -64,7 +73,7 @@ private:
|
||||
T* t_;
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_PARTIAL_SPECIALIZATION
|
||||
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template<typename T>
|
||||
class reference_wrapper_with_result_type
|
||||
{
|
||||
@@ -77,8 +86,10 @@ public:
|
||||
|
||||
result_type operator()() const { return get()(); }
|
||||
|
||||
# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
|
||||
# define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_REF_NUM_ARGS,<boost/detail/ref_iterate.hpp>))
|
||||
# include BOOST_PP_ITERATE()
|
||||
# endif
|
||||
|
||||
protected:
|
||||
# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
||||
|
Reference in New Issue
Block a user