mirror of
https://github.com/boostorg/iostreams.git
synced 2026-02-27 17:12:17 +00:00
made chain public
[SVN r28034]
This commit is contained in:
@@ -36,6 +36,8 @@
|
||||
|
||||
namespace boost { namespace iostreams {
|
||||
|
||||
//--------------Definition of chain and wchain--------------------------------//
|
||||
|
||||
namespace detail {
|
||||
|
||||
template<typename Chain> class chain_client;
|
||||
@@ -247,6 +249,8 @@ private:
|
||||
shared_ptr<chain_impl> pimpl_;
|
||||
};
|
||||
|
||||
} // End namespace detail.
|
||||
|
||||
//
|
||||
// Macro: BOOST_IOSTREAMS_DECL_CHAIN(name, category)
|
||||
// Description: Defines a template derived from chain_base appropriate for a
|
||||
@@ -292,6 +296,8 @@ BOOST_IOSTREAMS_DECL_CHAIN(wchain, wchar_t)
|
||||
|
||||
//--------------Definition of chain_client------------------------------------//
|
||||
|
||||
namespace detail {
|
||||
|
||||
//
|
||||
// Template name: chain_client
|
||||
// Description: Class whose instances provide access to an underlying chain
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
#include <memory> // allocator.
|
||||
#include <boost/iostreams/converter.hpp>
|
||||
#include <boost/iostreams/detail/chain.hpp>
|
||||
#include <boost/iostreams/chain.hpp>
|
||||
#include <boost/iostreams/detail/push.hpp>
|
||||
#include <boost/iostreams/detail/ios.hpp> // seekdir, streamsize.
|
||||
#include <boost/iostreams/detail/streambuf.hpp> // pubsync.
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
|
||||
#include <boost/config.hpp> // BOOST_MSVC, template friends.
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <boost/iostreams/chain.hpp>
|
||||
#include <boost/iostreams/detail/access_control.hpp>
|
||||
#include <boost/iostreams/detail/chain.hpp>
|
||||
#include <boost/iostreams/detail/config/wide_streams.hpp>
|
||||
#include <boost/iostreams/detail/streambuf.hpp>
|
||||
#include <boost/iostreams/detail/streambuf/linked_streambuf.hpp>
|
||||
|
||||
@@ -130,8 +130,8 @@ private:
|
||||
{ client_type::push(t BOOST_IOSTREAMS_PUSH_ARGS()); } \
|
||||
}; \
|
||||
/**/
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(filtering_stream, boost::iostreams::detail::chain, char)
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(wfiltering_stream, boost::iostreams::detail::chain, wchar_t)
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(filtering_stream, boost::iostreams::chain, char)
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(wfiltering_stream, boost::iostreams::chain, wchar_t)
|
||||
|
||||
typedef filtering_stream<input> filtering_istream;
|
||||
typedef filtering_stream<output> filtering_ostream;
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
|
||||
#include <exception>
|
||||
#include <memory> // allocator.
|
||||
#include <boost/iostreams/chain.hpp>
|
||||
#include <boost/iostreams/detail/access_control.hpp>
|
||||
#include <boost/iostreams/detail/chain.hpp>
|
||||
#include <boost/iostreams/detail/char_traits.hpp>
|
||||
#include <boost/iostreams/detail/push.hpp>
|
||||
#include <boost/iostreams/detail/streambuf.hpp> // pubsync.
|
||||
@@ -51,8 +51,8 @@ namespace boost { namespace iostreams {
|
||||
~name_() { if (this->is_complete()) this->BOOST_IOSTREAMS_PUBSYNC(); } \
|
||||
}; \
|
||||
/**/
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAMBUF(filtering_streambuf, boost::iostreams::detail::chain, char)
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAMBUF(filtering_wstreambuf, boost::iostreams::detail::chain, wchar_t)
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAMBUF(filtering_streambuf, boost::iostreams::chain, char)
|
||||
BOOST_IOSTREAMS_DEFINE_FILTER_STREAMBUF(filtering_wstreambuf, boost::iostreams::chain, wchar_t)
|
||||
|
||||
typedef filtering_streambuf<input> filtering_istreambuf;
|
||||
typedef filtering_streambuf<output> filtering_ostreambuf;
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
#include <deque>
|
||||
#include <memory> // allocator.
|
||||
#include <boost/config.hpp> // BOOST_DEDUCED_TYPENAME.
|
||||
#include <boost/iostreams/device/array.hpp>
|
||||
#include <boost/iostreams/chain.hpp>
|
||||
#include <boost/iostreams/copy.hpp>
|
||||
#include <boost/iostreams/device/array.hpp>
|
||||
#include <boost/iostreams/detail/buffer.hpp>
|
||||
#include <boost/iostreams/detail/chain.hpp>
|
||||
#include <boost/iostreams/device/back_inserter.hpp>
|
||||
#include <boost/iostreams/filtering_streambuf.hpp>
|
||||
#include <boost/iostreams/filter/one_step_filter.hpp>
|
||||
@@ -60,7 +60,7 @@ protected:
|
||||
typedef typename base_type::vector_type vector_type;
|
||||
void do_filter(const vector_type& src, vector_type& dest)
|
||||
{
|
||||
detail::chain<output, char_type> out;
|
||||
chain<output, char_type> out;
|
||||
out.push(filter_);
|
||||
out.push(iostreams::back_inserter(dest));
|
||||
out.write(&src[0], (std::streamsize) src.size());
|
||||
@@ -97,7 +97,7 @@ protected:
|
||||
typedef typename base_type::vector_type vector_type;
|
||||
void do_filter(const vector_type& src, vector_type& dest)
|
||||
{
|
||||
detail::chain<input, char_type> in;
|
||||
chain<input, char_type> in;
|
||||
in.push(filter_);
|
||||
in.push(make_iterator_range(src));
|
||||
copy(in, iostreams::back_inserter(dest));
|
||||
|
||||
Reference in New Issue
Block a user