Mercurial > hg > vamp-build-and-test
annotate DEPENDENCIES/generic/include/boost/iostreams/device/back_inserter.hpp @ 133:4acb5d8d80b6 tip
Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author | Chris Cannam |
---|---|
date | Tue, 30 Jul 2019 12:25:44 +0100 |
parents | 2665513ce2d3 |
children |
rev | line source |
---|---|
Chris@16 | 1 // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) |
Chris@16 | 2 // (C) Copyright 2003-2007 Jonathan Turkanis |
Chris@16 | 3 // Distributed under the Boost Software License, Version 1.0. (See accompanying |
Chris@16 | 4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) |
Chris@16 | 5 |
Chris@16 | 6 // See http://www.boost.org/libs/iostreams for documentation. |
Chris@16 | 7 |
Chris@16 | 8 #ifndef BOOST_IOSTREAMS_BACK_INSERTER_HPP_INCLUDED |
Chris@16 | 9 #define BOOST_IOSTREAMS_BACK_INSERTER_HPP_INCLUDED |
Chris@16 | 10 |
Chris@16 | 11 #if defined(_MSC_VER) && (_MSC_VER >= 1020) |
Chris@16 | 12 # pragma once |
Chris@16 | 13 #endif |
Chris@16 | 14 |
Chris@16 | 15 #include <boost/iostreams/detail/ios.hpp> // streamsize. |
Chris@16 | 16 #include <boost/iostreams/categories.hpp> |
Chris@16 | 17 |
Chris@16 | 18 namespace boost { namespace iostreams { |
Chris@16 | 19 |
Chris@16 | 20 template<typename Container> |
Chris@16 | 21 class back_insert_device { |
Chris@16 | 22 public: |
Chris@16 | 23 typedef typename Container::value_type char_type; |
Chris@16 | 24 typedef sink_tag category; |
Chris@16 | 25 back_insert_device(Container& cnt) : container(&cnt) { } |
Chris@16 | 26 std::streamsize write(const char_type* s, std::streamsize n) |
Chris@16 | 27 { |
Chris@16 | 28 container->insert(container->end(), s, s + n); |
Chris@16 | 29 return n; |
Chris@16 | 30 } |
Chris@16 | 31 protected: |
Chris@16 | 32 Container* container; |
Chris@16 | 33 }; |
Chris@16 | 34 |
Chris@16 | 35 template<typename Container> |
Chris@16 | 36 back_insert_device<Container> back_inserter(Container& cnt) |
Chris@16 | 37 { return back_insert_device<Container>(cnt); } |
Chris@16 | 38 |
Chris@16 | 39 } } // End namespaces iostreams, boost. |
Chris@16 | 40 |
Chris@16 | 41 #endif // #ifndef BOOST_IOSTREAMS_BACK_INSERTER_HPP_INCLUDED |