/usr/include/c++/4.9/bits/stl_algo.h: In instantiation of 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]':
/usr/include/c++/4.9/bits/stl_algo.h:1884:70: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1970:55: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:4716:78: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = main()::<lambda(const Foo&, const Foo&)>]'
prog.cpp:37:81: required from here
prog.cpp:12:2: error: 'Foo::Foo(Foo&&)' is private
Foo(Foo&& rhs) { bar = rhs.bar; cout << "Move constructor " << bar << endl; }
^
In file included from /usr/include/c++/4.9/bits/stl_pair.h:59:0,
from /usr/include/c++/4.9/bits/stl_algobase.h:64,
from /usr/include/c++/4.9/bits/char_traits.h:39,
from /usr/include/c++/4.9/ios:40,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from prog.cpp:1:
/usr/include/c++/4.9/bits/stl_algo.h:1849:11: error: within this context
__val = _GLIBCXX_MOVE(*__i);
^
In file included from /usr/include/c++/4.9/algorithm:62:0,
from prog.cpp:3:
/usr/include/c++/4.9/bits/stl_algo.h:1851:17: error: use of deleted function 'Foo& Foo::operator=(Foo&&)'
*__first = _GLIBCXX_MOVE(__val);
^
prog.cpp:18:7: note: declared here
Foo& operator=(Foo&&) = delete;
^
/usr/include/c++/4.9/bits/stl_heap.h: In instantiation of 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]':
/usr/include/c++/4.9/bits/stl_algo.h:1673:49: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1932:59: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1947:59: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1969:11: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:4716:78: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = main()::<lambda(const Foo&, const Foo&)>]'
prog.cpp:37:81: required from here
prog.cpp:12:2: error: 'Foo::Foo(Foo&&)' is private
Foo(Foo&& rhs) { bar = rhs.bar; cout << "Move constructor " << bar << endl; }
^
In file included from /usr/include/c++/4.9/bits/stl_pair.h:59:0,
from /usr/include/c++/4.9/bits/stl_algobase.h:64,
from /usr/include/c++/4.9/bits/char_traits.h:39,
from /usr/include/c++/4.9/ios:40,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from prog.cpp:1:
/usr/include/c++/4.9/bits/stl_heap.h:332:25: error: within this context
_ValueType __value = _GLIBCXX_MOVE(*(__first + __parent));
^
prog.cpp:12:2: error: 'Foo::Foo(Foo&&)' is private
Foo(Foo&& rhs) { bar = rhs.bar; cout << "Move constructor " << bar << endl; }
^
In file included from /usr/include/c++/4.9/bits/stl_algo.h:61:0,
from /usr/include/c++/4.9/algorithm:62,
from prog.cpp:3:
/usr/include/c++/4.9/bits/stl_heap.h:334:15: error: within this context
__comp);
^
/usr/include/c++/4.9/bits/stl_heap.h:207:5: error: initializing argument 4 of 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Distance = int; _Tp = Foo; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
__adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
^
/usr/include/c++/4.9/bits/stl_heap.h: In instantiation of 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]':
/usr/include/c++/4.9/bits/stl_algo.h:1676:50: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1932:59: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1947:59: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1969:11: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:4716:78: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = main()::<lambda(const Foo&, const Foo&)>]'
prog.cpp:37:81: required from here
prog.cpp:12:2: error: 'Foo::Foo(Foo&&)' is private
Foo(Foo&& rhs) { bar = rhs.bar; cout << "Move constructor " << bar << endl; }
^
In file included from /usr/include/c++/4.9/bits/stl_pair.h:59:0,
from /usr/include/c++/4.9/bits/stl_algobase.h:64,
from /usr/include/c++/4.9/bits/char_traits.h:39,
from /usr/include/c++/4.9/ios:40,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from prog.cpp:1:
/usr/include/c++/4.9/bits/stl_heap.h:243:28: error: within this context
_ValueType __value = _GLIBCXX_MOVE(*__result);
^
In file included from /usr/include/c++/4.9/bits/stl_algo.h:61:0,
from /usr/include/c++/4.9/algorithm:62,
from prog.cpp:3:
/usr/include/c++/4.9/bits/stl_heap.h:244:17: error: use of deleted function 'Foo& Foo::operator=(Foo&&)'
*__result = _GLIBCXX_MOVE(*__first);
^
prog.cpp:18:7: note: declared here
Foo& operator=(Foo&&) = delete;
^
prog.cpp:12:2: error: 'Foo::Foo(Foo&&)' is private
Foo(Foo&& rhs) { bar = rhs.bar; cout << "Move constructor " << bar << endl; }
^
In file included from /usr/include/c++/4.9/bits/stl_algo.h:61:0,
from /usr/include/c++/4.9/algorithm:62,
from prog.cpp:3:
/usr/include/c++/4.9/bits/stl_heap.h:247:35: error: within this context
_GLIBCXX_MOVE(__value), __comp);
^
/usr/include/c++/4.9/bits/stl_heap.h:207:5: error: initializing argument 4 of 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Distance = int; _Tp = Foo; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
__adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
^
/usr/include/c++/4.9/bits/move.h: In instantiation of 'void std::swap(_Tp&, _Tp&) [with _Tp = Foo]':
/usr/include/c++/4.9/bits/stl_algobase.h:148:22: required from 'void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _ForwardIterator2 = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >]'
/usr/include/c++/4.9/bits/stl_algo.h:84:34: required from 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1921:13: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1952:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:1969:11: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(const Foo&, const Foo&)> >]'
/usr/include/c++/4.9/bits/stl_algo.h:4716:78: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<Foo*, std::vector<Foo> >; _Compare = main()::<lambda(const Foo&, const Foo&)>]'
prog.cpp:37:81: required from here
prog.cpp:12:2: error: 'Foo::Foo(Foo&&)' is private
Foo(Foo&& rhs) { bar = rhs.bar; cout << "Move constructor " << bar << endl; }
^
In file included from /usr/include/c++/4.9/bits/stl_pair.h:59:0,
from /usr/include/c++/4.9/bits/stl_algobase.h:64,
from /usr/include/c++/4.9/bits/char_traits.h:39,
from /usr/include/c++/4.9/ios:40,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from prog.cpp:1:
/usr/include/c++/4.9/bits/move.h:175:19: error: within this context
_Tp __tmp = _GLIBCXX_MOVE(__a);
^
/usr/include/c++/4.9/bits/move.h:176:11: error: use of deleted function 'Foo& Foo::operator=(Foo&&)'
__a = _GLIBCXX_MOVE(__b);
^
prog.cpp:18:7: note: declared here
Foo& operator=(Foo&&) = delete;
^
In file included from /usr/include/c++/4.9/bits/stl_pair.h:59:0,
from /usr/include/c++/4.9/bits/stl_algobase.h:64,
from /usr/include/c++/4.9/bits/char_traits.h:39,
from /usr/include/c++/4.9/ios:40,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from prog.cpp:1:
/usr/include/c++/4.9/bits/move.h:177:11: error: use of deleted function 'Foo& Foo::operator=(Foo&&)'
__b = _GLIBCXX_MOVE(__tmp);
^
prog.cpp:18:7: note: declared here
Foo& operator=(Foo&&) = delete;
^