1 | #include <boost/lexical_cast.hpp>
|
---|
2 | #include <cassert>
|
---|
3 | #include <iostream>
|
---|
4 | #include <iterator>
|
---|
5 | #include <string>
|
---|
6 | #include <vector>
|
---|
7 |
|
---|
8 | std::ostream & operator<<(std::ostream & out, const std::vector<long> & v)
|
---|
9 | {
|
---|
10 | std::ostream_iterator<long> it(out);
|
---|
11 | std::copy(v.begin(), v.end(), it);
|
---|
12 | assert(out);
|
---|
13 | return out;
|
---|
14 | }
|
---|
15 |
|
---|
16 | int main()
|
---|
17 | {
|
---|
18 | try {
|
---|
19 | std::vector<long> v;
|
---|
20 | // Uncomment the following line and no exception is thrown.
|
---|
21 | // v.push_back(1);
|
---|
22 | std::cout << boost::lexical_cast<std::string>(v) << std::endl;
|
---|
23 | } catch (const boost::bad_lexical_cast & ex) {
|
---|
24 | std::cerr << ex.what() << std::endl;
|
---|
25 | return EXIT_FAILURE;
|
---|
26 | }
|
---|
27 | }
|
---|