#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ifstream fin("example.txt");
vector<string> coll;
copy(istreambuf_iterator<string>(fin), istreambuf_iterator<string>(), back_inserter(coll));
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGlmc3RyZWFtIGZpbigiZXhhbXBsZS50eHQiKTsKCiAgICB2ZWN0b3I8c3RyaW5nPiBjb2xsOwogICAgY29weShpc3RyZWFtYnVmX2l0ZXJhdG9yPHN0cmluZz4oZmluKSwgaXN0cmVhbWJ1Zl9pdGVyYXRvcjxzdHJpbmc+KCksIGJhY2tfaW5zZXJ0ZXIoY29sbCkpOwp9
prog.cpp: In function ‘int main()’:
prog.cpp:14:41: error: invalid user-defined conversion from ‘std::ifstream {aka std::basic_ifstream<char>}’ to ‘std::istreambuf_iterator<std::basic_string<char> >::streambuf_type* {aka std::basic_streambuf<std::basic_string<char>, std::char_traits<std::basic_string<char> > >*}’ [-fpermissive]
In file included from /usr/include/c++/4.7/ios:45:0,
from /usr/include/c++/4.7/ostream:40,
from /usr/include/c++/4.7/iostream:40,
from prog.cpp:1:
/usr/include/c++/4.7/bits/basic_ios.h:113:7: note: candidate is: std::basic_ios<_CharT, _Traits>::operator void*() const [with _CharT = char; _Traits = std::char_traits<char>] <near match>
/usr/include/c++/4.7/bits/basic_ios.h:113:7: note: no known conversion for implicit ‘this’ parameter from ‘void*’ to ‘std::istreambuf_iterator<std::basic_string<char> >::streambuf_type* {aka std::basic_streambuf<std::basic_string<char>, std::char_traits<std::basic_string<char> > >*}’
In file included from /usr/include/c++/4.7/ios:41:0,
from /usr/include/c++/4.7/ostream:40,
from /usr/include/c++/4.7/iostream:40,
from prog.cpp:1:
/usr/include/c++/4.7/bits/char_traits.h: In instantiation of ‘static constexpr __gnu_cxx::char_traits<_CharT>::char_type __gnu_cxx::char_traits<_CharT>::to_char_type(const int_type&) [with _CharT = std::basic_string<char>; __gnu_cxx::char_traits<_CharT>::char_type = std::basic_string<char>; __gnu_cxx::char_traits<_CharT>::int_type = long unsigned int]’:
/usr/include/c++/4.7/bits/streambuf_iterator.h:134:43: required from ‘std::istreambuf_iterator<_CharT, _Traits>::char_type std::istreambuf_iterator<_CharT, _Traits>::operator*() const [with _CharT = std::basic_string<char>; _Traits = std::char_traits<std::basic_string<char> >; std::istreambuf_iterator<_CharT, _Traits>::char_type = std::basic_string<char>]’
/usr/include/c++/4.7/bits/stl_algobase.h:299:6: required from ‘static _OI std::__copy_move<<anonymous>, <anonymous>, <template-parameter-1-3> >::__copy_m(_II, _II, _OI) [with _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >; bool <anonymous> = false; bool <anonymous> = false; <template-parameter-1-3> = std::input_iterator_tag]’
/usr/include/c++/4.7/bits/stl_algobase.h:384:70: required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >]’
/usr/include/c++/4.7/bits/stl_algobase.h:422:39: required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >]’
/usr/include/c++/4.7/bits/stl_algobase.h:454:18: required from ‘_OI std::copy(_II, _II, _OI) [with _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >]’
prog.cpp:14:94: required from here
/usr/include/c++/4.7/bits/char_traits.h:125:42: error: invalid conversion from ‘__gnu_cxx::char_traits<std::basic_string<char> >::int_type {aka long unsigned int}’ to ‘const char*’ [-fpermissive]
In file included from /usr/include/c++/4.7/string:54:0,
from /usr/include/c++/4.7/bits/locale_classes.h:42,
from /usr/include/c++/4.7/bits/ios_base.h:43,
from /usr/include/c++/4.7/ios:43,
from /usr/include/c++/4.7/ostream:40,
from /usr/include/c++/4.7/iostream:40,
from prog.cpp:1:
/usr/include/c++/4.7/bits/basic_string.h:487:7: error: initializing argument 1 of ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ [-fpermissive]
In file included from /usr/include/c++/4.7/ios:41:0,
from /usr/include/c++/4.7/ostream:40,
from /usr/include/c++/4.7/iostream:40,
from prog.cpp:1:
/usr/include/c++/4.7/bits/char_traits.h: In instantiation of ‘static constexpr __gnu_cxx::char_traits<_CharT>::int_type __gnu_cxx::char_traits<_CharT>::to_int_type(const char_type&) [with _CharT = std::basic_string<char>; __gnu_cxx::char_traits<_CharT>::int_type = long unsigned int; __gnu_cxx::char_traits<_CharT>::char_type = std::basic_string<char>]’:
/usr/include/c++/4.7/streambuf:319:6: required from ‘std::basic_streambuf<_CharT, _Traits>::int_type std::basic_streambuf<_CharT, _Traits>::sbumpc() [with _CharT = std::basic_string<char>; _Traits = std::char_traits<std::basic_string<char> >; std::basic_streambuf<_CharT, _Traits>::int_type = long unsigned int]’
/usr/include/c++/4.7/bits/streambuf_iterator.h:146:6: required from ‘std::istreambuf_iterator<_CharT, _Traits>& std::istreambuf_iterator<_CharT, _Traits>::operator++() [with _CharT = std::basic_string<char>; _Traits = std::char_traits<std::basic_string<char> >; std::istreambuf_iterator<_CharT, _Traits> = std::istreambuf_iterator<std::basic_string<char> >]’
/usr/include/c++/4.7/bits/stl_algobase.h:298:4: required from ‘static _OI std::__copy_move<<anonymous>, <anonymous>, <template-parameter-1-3> >::__copy_m(_II, _II, _OI) [with _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >; bool <anonymous> = false; bool <anonymous> = false; <template-parameter-1-3> = std::input_iterator_tag]’
/usr/include/c++/4.7/bits/stl_algobase.h:384:70: required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >]’
/usr/include/c++/4.7/bits/stl_algobase.h:422:39: required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >]’
/usr/include/c++/4.7/bits/stl_algobase.h:454:18: required from ‘_OI std::copy(_II, _II, _OI) [with _II = std::istreambuf_iterator<std::basic_string<char> >; _OI = std::back_insert_iterator<std::vector<std::basic_string<char> > >]’
prog.cpp:14:94: required from here
/usr/include/c++/4.7/bits/char_traits.h:129:41: error: invalid static_cast from type ‘const char_type {aka const std::basic_string<char>}’ to type ‘__gnu_cxx::char_traits<std::basic_string<char> >::int_type {aka long unsigned int}’
/usr/include/c++/4.7/bits/char_traits.h:129:44: error: body of constexpr function ‘static constexpr __gnu_cxx::char_traits<_CharT>::int_type __gnu_cxx::char_traits<_CharT>::to_int_type(const char_type&) [with _CharT = std::basic_string<char>; __gnu_cxx::char_traits<_CharT>::int_type = long unsigned int; __gnu_cxx::char_traits<_CharT>::char_type = std::basic_string<char>]’ not a return-statement