diff --git a/include/boost/typeof/std/functional.hpp b/include/boost/typeof/std/functional.hpp index 189cd9b..0d9cd84 100755 --- a/include/boost/typeof/std/functional.hpp +++ b/include/boost/typeof/std/functional.hpp @@ -39,11 +39,11 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun_t, 2) BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_t, 3) BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun_ref_t, 2) BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_ref_t, 3) -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +#if !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun_t, 2) BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_t, 3) BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun_ref_t, 2) BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_ref_t, 3) -#endif//BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) #endif//BOOST_TYPEOF_STD_functional_hpp_INCLUDED diff --git a/include/boost/typeof/std/iosfwd.hpp b/include/boost/typeof/std/iosfwd.hpp index 6b03f21..dcc81aa 100755 --- a/include/boost/typeof/std/iosfwd.hpp +++ b/include/boost/typeof/std/iosfwd.hpp @@ -19,9 +19,9 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ios, 1) #endif//BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ios, 2) #ifdef BOOST_TYPEOF_COMPLIANT -BOOST_TYPEOF_REGISTER_TEMPLATE(std::class basic_streambuf, 1) +BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_streambuf, 1) #endif//BOOST_TYPEOF_COMPLIANT -BOOST_TYPEOF_REGISTER_TEMPLATE(std::class basic_streambuf, 2) +BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_streambuf, 2) #ifdef BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_istream, 1) #endif//BOOST_TYPEOF_COMPLIANT diff --git a/include/boost/typeof/std/iterator.hpp b/include/boost/typeof/std/iterator.hpp index 9279159..12fa823 100755 --- a/include/boost/typeof/std/iterator.hpp +++ b/include/boost/typeof/std/iterator.hpp @@ -14,27 +14,51 @@ #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator_traits, 1) +#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) +#ifdef BOOST_TYPEOF_COMPLIANT +BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 2) +#endif//BOOST_TYPEOF_COMPLIANT +BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 3) +#else #ifdef BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 2) BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 3) BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 4) #endif//BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 5) +#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) BOOST_TYPEOF_REGISTER_TYPE(std::input_iterator_tag) BOOST_TYPEOF_REGISTER_TYPE(std::output_iterator_tag) BOOST_TYPEOF_REGISTER_TYPE(std::forward_iterator_tag) BOOST_TYPEOF_REGISTER_TYPE(std::bidirectional_iterator_tag) BOOST_TYPEOF_REGISTER_TYPE(std::random_access_iterator_tag) +#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) +#ifdef BOOST_TYPEOF_COMPLIANT +BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 2) +BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 3) +BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 4) +#endif//BOOST_TYPEOF_COMPLIANT +BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 5) +#else BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 1) +#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) BOOST_TYPEOF_REGISTER_TEMPLATE(std::back_insert_iterator, 1) BOOST_TYPEOF_REGISTER_TEMPLATE(std::front_insert_iterator, 1) BOOST_TYPEOF_REGISTER_TEMPLATE(std::insert_iterator, 1) +#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) +#ifdef BOOST_TYPEOF_COMPLIANT +BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 1) +BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 2) +#endif//BOOST_TYPEOF_COMPLIANT +BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 3) +#else #ifdef BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 1) BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 2) BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 3) #endif//BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 4) +#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) #ifdef BOOST_TYPEOF_COMPLIANT BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 1) BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 2)