diff options
Diffstat (limited to 'boost/iostreams/traits.hpp')
-rw-r--r-- | boost/iostreams/traits.hpp | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/boost/iostreams/traits.hpp b/boost/iostreams/traits.hpp index be7e98f1d9..f8d7a3ff5b 100644 --- a/boost/iostreams/traits.hpp +++ b/boost/iostreams/traits.hpp @@ -15,7 +15,7 @@ #ifndef BOOST_IOSTREAMS_IO_TRAITS_HPP_INCLUDED #define BOOST_IOSTREAMS_IO_TRAITS_HPP_INCLUDED -#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#if defined(_MSC_VER) # pragma once #endif @@ -35,10 +35,8 @@ #include <boost/mpl/identity.hpp> #include <boost/mpl/int.hpp> #include <boost/mpl/or.hpp> -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# include <boost/range/iterator_range.hpp> -# include <boost/range/value_type.hpp> -#endif // #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +#include <boost/range/iterator_range.hpp> +#include <boost/range/value_type.hpp> #include <boost/ref.hpp> #include <boost/type_traits/is_convertible.hpp> @@ -182,7 +180,6 @@ struct member_char_type { typedef typename T::char_type type; }; } // End namespace detail. -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //---------------------------// # ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //-------------------------------// template<typename T> @@ -212,27 +209,6 @@ struct char_type_of< iterator_range<Iter> > { typedef typename iterator_value<Iter>::type type; }; -#else // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //------------------// - -template<typename T> -struct char_type_of { - template<typename U> - struct get_value_type { - #if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - typedef typename range_value<U>::type type; - #endif // #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - }; - typedef typename - mpl::eval_if< - is_iterator_range<T>, - get_value_type<T>, - detail::member_char_type< - BOOST_DEDUCED_TYPENAME detail::unwrapped_type<T>::type - > - >::type type; -}; - -#endif // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //-----------------// //------------------Definitions of category_of--------------------------------// @@ -275,14 +251,12 @@ struct category_of { }; // Partial specialization for reference wrappers -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //---------------------------// template<typename T> struct category_of< reference_wrapper<T> > : category_of<T> { }; -#endif // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //-----------------// //------------------Definition of get_category--------------------------------// @@ -340,14 +314,12 @@ template<typename T> // Borland 5.6.4 requires this circumlocution. struct mode_of : detail::io_mode_impl< detail::io_mode_id<T>::value > { }; // Partial specialization for reference wrappers -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //---------------------------// template<typename T> struct mode_of< reference_wrapper<T> > : mode_of<T> { }; -#endif // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION //-----------------// //------------------Definition of is_device, is_filter and is_direct----------// |