• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. Copyright David Abrahams 2006. Distributed under the Boost
2.. Software License, Version 1.0. (See accompanying
3.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4
5Example
6.......
7
8::
9
10    struct string_appender
11    {
12	string_appender(std::string& s)
13	    : m_str(&s)
14	{}
15
16	void operator()(const std::string& x) const
17	{
18	    *m_str += x;
19	}
20
21	std::string* m_str;
22    };
23
24    int main(int, char*[])
25    {
26      std::vector<std::string> x;
27      x.push_back("hello");
28      x.push_back(" ");
29      x.push_back("world");
30      x.push_back("!");
31
32      std::string s = "";
33      std::copy(x.begin(), x.end(),
34		boost::make_function_output_iterator(string_appender(s)));
35
36      std::cout << s << std::endl;
37
38      return 0;
39    }
40