mirror of
https://github.com/boostorg/iostreams.git
synced 2026-02-23 15:52:13 +00:00
conditionally omitted certain overloads for VC6; changed occurences of 'Device' to 'T'
[SVN r27066]
This commit is contained in:
@@ -7,9 +7,10 @@
|
||||
// No include guards -- file included by boost/iostreams/streambuf_facade.hpp
|
||||
// within include guards.
|
||||
|
||||
#include <boost/iostreams/detail/disable_warnings.hpp> // MSVC.
|
||||
|
||||
#include <memory> // allocator.
|
||||
#include <memory> // allocator.
|
||||
#include <boost/config.hpp> // MSVC, DEDUCED_TYPENAME.
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <boost/iostreams/detail/broken_overload_resolution/forward.hpp>
|
||||
#include <boost/iostreams/detail/forward.hpp>
|
||||
#include <boost/iostreams/detail/param_type.hpp>
|
||||
@@ -53,6 +54,7 @@ public:
|
||||
{
|
||||
open_impl(detail::forward<T, U0>(), u0, u1, u2);
|
||||
}
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------//
|
||||
template<typename U0>
|
||||
streambuf_facade(U0& u0)
|
||||
{
|
||||
@@ -68,6 +70,7 @@ public:
|
||||
{
|
||||
open_impl(detail::forward<T, U0>(), u0, u1, u2);
|
||||
}
|
||||
#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------//
|
||||
template<typename U0>
|
||||
void open(const U0& u0)
|
||||
{
|
||||
@@ -83,6 +86,7 @@ public:
|
||||
{
|
||||
open_impl(detail::forward<T, U0>(), u0, u1, u2);
|
||||
}
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------//
|
||||
template<typename U0>
|
||||
void open(U0& u0)
|
||||
{
|
||||
@@ -98,51 +102,58 @@ public:
|
||||
{
|
||||
open_impl(detail::forward<T, U0>(), u0, u1, u2);
|
||||
}
|
||||
#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------//
|
||||
private:
|
||||
template<typename U0>
|
||||
void open_impl(mpl::false_, const U0& u0)
|
||||
{
|
||||
base_type::open(u0, -1, -1);
|
||||
}
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------//
|
||||
template<typename U0>
|
||||
void open_impl(mpl::false_, U0& u0)
|
||||
{
|
||||
base_type::open(detail::wrap(u0), -1, -1);
|
||||
}
|
||||
#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------//
|
||||
template<typename U0>
|
||||
void open_impl(mpl::true_, const U0& u0)
|
||||
{
|
||||
base_type::open(Device(u0), -1, -1);
|
||||
base_type::open(T(u0), -1, -1);
|
||||
}
|
||||
template<typename U0, typename U1>
|
||||
void open_impl(mpl::false_, const U0& u0, const U1& u1)
|
||||
{
|
||||
base_type::open(u0, u1, -1);
|
||||
}
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------//
|
||||
template<typename U0, typename U1>
|
||||
void open_impl(mpl::false_, U0& u0, const U1& u1)
|
||||
{
|
||||
base_type::open(detail::wrap(u0), u1, -1);
|
||||
}
|
||||
#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------//
|
||||
template<typename U0, typename U1>
|
||||
void open_impl(mpl::true_, const U0& u0, const U1& u1)
|
||||
{
|
||||
base_type::open(Device(u0, u1), -1, -1);
|
||||
base_type::open(T(u0, u1), -1, -1);
|
||||
}
|
||||
template<typename U0, typename U1, typename U2>
|
||||
void open_impl(mpl::false_, const U0& u0, const U1& u1, const U2& u2)
|
||||
{
|
||||
base_type::open(u0, u1, u2);
|
||||
}
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------//
|
||||
template<typename U0, typename U1, typename U2>
|
||||
void open_impl(mpl::false_, U0& u0, const U1& u1, const U2& u2)
|
||||
{
|
||||
base_type::open(detail::wrap(u0), u1, u2);
|
||||
}
|
||||
#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------//
|
||||
template<typename U0, typename U1, typename U2>
|
||||
void open_impl(mpl::true_, const U0& u0, const U1& u1, const U2& u2)
|
||||
{
|
||||
base_type::open(Device(u0, u1, u2), -1, -1);
|
||||
base_type::open(T(u0, u1, u2), -1, -1);
|
||||
}
|
||||
void check_open()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user