forked from boostorg/type_traits
Add fix for https://svn.boost.org/trac/boost/ticket/9474
This commit is contained in:
@ -18,6 +18,16 @@
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
|
||||
#if defined(new)
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, >= 1310)
|
||||
# define BOOST_TT_AUX_MACRO_NEW_DEFINED
|
||||
# pragma push_macro("new")
|
||||
# undef new
|
||||
# else
|
||||
# error "Sorry but you can't include this header if 'new' is defined as a macro."
|
||||
# endif
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template <class U, U x>
|
||||
@ -135,6 +145,10 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_new_operator,T,::boost::detail::has_new_operato
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#if defined(BOOST_TT_AUX_MACRO_NEW_DEFINED)
|
||||
# pragma pop_macro("new")
|
||||
#endif
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
||||
#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
|
||||
|
@ -14,6 +14,17 @@
|
||||
#pragma warning(disable:1720)
|
||||
#endif
|
||||
|
||||
#if defined(new)
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, >= 1310)
|
||||
# define BOOST_TT_AUX_MACRO_NEW_DEFINED
|
||||
# pragma push_macro("new")
|
||||
# undef new
|
||||
# else
|
||||
# error "Sorry but you can't include this header if 'new' is defined as a macro."
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
struct class_with_new_op {
|
||||
void * operator new(std::size_t);
|
||||
};
|
||||
|
Reference in New Issue
Block a user