diff options
Diffstat (limited to '3rdParty/Boost/src/boost/detail/is_incrementable.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/detail/is_incrementable.hpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/3rdParty/Boost/src/boost/detail/is_incrementable.hpp b/3rdParty/Boost/src/boost/detail/is_incrementable.hpp index e7ef9dc..6b36378 100644 --- a/3rdParty/Boost/src/boost/detail/is_incrementable.hpp +++ b/3rdParty/Boost/src/boost/detail/is_incrementable.hpp @@ -23,72 +23,71 @@ namespace boost { namespace detail { // This namespace ensures that ADL doesn't mess things up. namespace is_incrementable_ { // a type returned from operator++ when no increment is found in the // type's own namespace struct tag {}; // any soaks up implicit conversions and makes the following // operator++ less-preferred than any other such operator that // might be found via ADL. struct any { template <class T> any(T const&); }; // This is a last-resort operator++ for when none other is found # if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2 } namespace is_incrementable_2 { is_incrementable_::tag operator++(is_incrementable_::any const&); is_incrementable_::tag operator++(is_incrementable_::any const&,int); } using namespace is_incrementable_2; namespace is_incrementable_ { # else tag operator++(any const&); tag operator++(any const&,int); # endif -# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) # define BOOST_comma(a,b) (a) # else // In case an operator++ is found that returns void, we'll use ++x,0 tag operator,(tag,int); # define BOOST_comma(a,b) (a,b) # endif # if defined(BOOST_MSVC) # pragma warning(push) # pragma warning(disable:4913) // Warning about operator, # endif // two check overloads help us identify which operator++ was picked char (& check_(tag) )[2]; template <class T> char check_(T const&); template <class T> struct impl { static typename boost::remove_cv<T>::type& x; BOOST_STATIC_CONSTANT( bool , value = sizeof(is_incrementable_::check_(BOOST_comma(++x,0))) == 1 ); }; template <class T> struct postfix_impl { static typename boost::remove_cv<T>::type& x; |