In file included from /usr/include/c++/7/algorithm:62:0,
from /in/HW7.cpp:5:
/usr/include/c++/7/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::_List_iterator<BookLibrary::Book>; _Compare = __gnu_cxx::__ops::_Iter_less_iter]':
/usr/include/c++/7/bits/stl_algo.h:4836:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = std::_List_iterator<BookLibrary::Book>]'
/in/HW7.cpp:116:41: required from here
/usr/include/c++/7/bits/stl_algo.h:1969:22: error: no match for 'operator-' (operand types are 'std::_List_iterator<BookLibrary::Book>' and 'std::_List_iterator<BookLibrary::Book>')
std::__lg(__last - __first) * 2,
~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/HW7.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:392:5: note: candidate: template<class _IteratorL, class _IteratorR> constexpr decltype ((__y.base() - __x.base())) std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
operator-(const reverse_iterator<_IteratorL>& __x,
^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:392:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/algorithm:62:0,
from /in/HW7.cpp:5:
/usr/include/c++/7/bits/stl_algo.h:1969:22: note: 'std::_List_iterator<BookLibrary::Book>' is not derived from 'const std::reverse_iterator<_Iterator>'
std::__lg(__last - __first) * 2,
~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/HW7.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:1194:5: note: candidate: template<class _IteratorL, class _IteratorR> constexpr decltype ((__x.base() - __y.base())) std::operator-(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
operator-(const move_iterator<_IteratorL>& __x,
^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1194:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/algorithm:62:0,
from /in/HW7.cpp:5:
/usr/include/c++/7/bits/stl_algo.h:1969:22: note: 'std::_List_iterator<BookLibrary::Book>' is not derived from 'const std::move_iterator<_IteratorL>'
std::__lg(__last - __first) * 2,
~~~~~~~^~~~~~~~~