back_insert_device
The header <boost/iostreams/device/back_inserter.hpp> contains the definition of the class template back_insert_device — implementing a Sink which appends to a standard library sequence container — as well as the definition of a corresponding object generator, the function template boost::iostreams::back_inserter.
The Iostream Library allows OutputIterators to be used in many places where Sinks are allowed. However, using boost::iostreams::back_inserter my be somewhat more efficient than using std::back_inserter, since the former uses the function insert to append a sequence of characters in one operation. Furthermore, std::back_insert_iterator is not strictly a model of Sink, so one can write
namespace io = boost::iostreams; typedef io::stream< io::back_insert_device<std::string> > my_stream
But not
typedef io::stream< std::back_insert_iterator<std::string> > my_stream
<boost/iostreams/device/back_inserter.hpp>namespace boost { namespace iostreams { template<typename Container> class back_insert_device { public: typedef typename Container::value_type char_type; typedef sink_tag category; back_insert_device(Container& cnt); ... }; template<typename Container> back_insert_device<Container> back_inserter(Container& cnt); } } // End namespace boost::io
| Container | - | A C++ standard library sequence type ([ISO], 23.1.1). |
back_insert_device::back_insert_deviceback_insert_device(Container& cnt);
Constructs an instance of back_insert_device for appending to the given container. The given reference must remain valid for the lifetime of the instance of back_insert_device.
back_insertertemplate<typename Container> back_insert_device<Container> back_inserter(Container& cnt);
Returns an instance of back_insert_device for appending to the given container.
© Copyright 2008 CodeRage, LLC
© Copyright 2004-2007 Jonathan Turkanis
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)