summaryrefslogtreecommitdiff
path: root/boost/iostreams/traits.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/iostreams/traits.hpp')
-rw-r--r--boost/iostreams/traits.hpp34
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----------//