conditionally omitted certain overloads for VC6; changed occurences of 'Device' to 'T'

[SVN r27066]
This commit is contained in:
Jonathan Turkanis
2005-02-03 16:22:51 +00:00
parent 12ec47691d
commit d3012bfc8b

View File

@@ -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()
{