From 992d8a306efaa3a3303ae5349e9b43b905951d83 Mon Sep 17 00:00:00 2001 From: Jonathan Turkanis Date: Mon, 11 Apr 2005 14:56:08 +0000 Subject: [PATCH] modified to handle dual_use [SVN r28109] --- include/boost/iostreams/concepts.hpp | 30 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/include/boost/iostreams/concepts.hpp b/include/boost/iostreams/concepts.hpp index 314c433..597cb63 100755 --- a/include/boost/iostreams/concepts.hpp +++ b/include/boost/iostreams/concepts.hpp @@ -50,8 +50,8 @@ template struct wdevice : device { }; typedef device source; -typedef device sink; typedef wdevice wsource; +typedef device sink; typedef wdevice wsink; //--------------Definitions of helper templates for simple filter concepts----// @@ -71,13 +71,17 @@ struct filter { { using namespace detail; BOOST_STATIC_ASSERT((!is_convertible::value)); + BOOST_STATIC_ASSERT((!is_convertible::value)); } template void close(Device&, BOOST_IOS::openmode) { using namespace detail; - BOOST_STATIC_ASSERT((is_convertible::value)); + BOOST_STATIC_ASSERT( + (is_convertible::value) || + (is_convertible::value) + ); } template @@ -87,10 +91,14 @@ struct filter { template struct wfilter : filter { }; -typedef filter input_filter; -typedef filter output_filter; -typedef wfilter input_wfilter; -typedef wfilter output_wfilter; +typedef filter input_filter; +typedef wfilter input_wfilter; +typedef filter output_filter; +typedef wfilter output_wfilter; +typedef filter seekable_filter; +typedef wfilter seekable_wfilter; +typedef filter dual_use_filter; +typedef wfilter dual_use_wfilter; //------Definitions of helper templates for multi-character filter cncepts----// @@ -102,10 +110,12 @@ struct multichar_filter : filter { template struct multichar_wfilter : multichar_filter { }; -typedef multichar_filter multichar_input_filter; -typedef multichar_filter multichar_output_filter; -typedef multichar_wfilter multichar_input_wfilter; -typedef multichar_wfilter multichar_output_wfilter; +typedef multichar_filter multichar_input_filter; +typedef multichar_filter multichar_input_wfilter; +typedef multichar_filter multichar_output_filter; +typedef multichar_filter multichar_output_wfilter; +typedef multichar_filter multichar_dual_use_filter; +typedef multichar_filter multichar_dual_use_wfilter; //----------------------------------------------------------------------------//