In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h: In instantiation of 'static bool std::__equal<_BoolType>::equal(_II1, _II1, _II2) [with _II1 = std::_Rb_tree_const_iterator<IntWrapper>; _II2 = std::_Rb_tree_const_iterator<IntWrapper>; bool _BoolType = false]':
/usr/include/c++/5/bits/stl_algobase.h:843:43: required from 'bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = std::_Rb_tree_const_iterator<IntWrapper>; _II2 = std::_Rb_tree_const_iterator<IntWrapper>]'
/usr/include/c++/5/bits/stl_algobase.h:1063:30: required from 'bool std::equal(_II1, _II1, _II2) [with _II1 = std::_Rb_tree_const_iterator<IntWrapper>; _II2 = std::_Rb_tree_const_iterator<IntWrapper>]'
/usr/include/c++/5/bits/stl_tree.h:1277:20: required from 'bool std::operator==(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&) [with _Key = IntWrapper; _Val = IntWrapper; _KeyOfValue = std::_Identity<IntWrapper>; _Compare = LessComparer; _Alloc = std::allocator<IntWrapper>]'
/usr/include/c++/5/bits/stl_set.h:842:23: required from 'bool std::operator==(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&) [with _Key = IntWrapper; _Compare = LessComparer; _Alloc = std::allocator<IntWrapper>]'
prog.cpp:16:2: required from here
/usr/include/c++/5/bits/stl_algobase.h:812:22: error: no match for 'operator==' (operand types are 'const IntWrapper' and 'const IntWrapper')
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
from /usr/include/c++/5/bits/stl_tree.h:63,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_pair.h:214:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
^
/usr/include/c++/5/bits/stl_pair.h:214:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::pair<_T1, _T2>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
from /usr/include/c++/5/bits/stl_tree.h:63,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:292:5: note: candidate: template<class _Iterator> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
operator==(const reverse_iterator<_Iterator>& __x,
^
/usr/include/c++/5/bits/stl_iterator.h:292:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::reverse_iterator<_Iterator>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
from /usr/include/c++/5/bits/stl_tree.h:63,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:342:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
operator==(const reverse_iterator<_IteratorL>& __x,
^
/usr/include/c++/5/bits/stl_iterator.h:342:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::reverse_iterator<_Iterator>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
from /usr/include/c++/5/bits/stl_tree.h:63,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:1065:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&)
operator==(const move_iterator<_IteratorL>& __x,
^
/usr/include/c++/5/bits/stl_iterator.h:1065:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::move_iterator<_Iterator>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
from /usr/include/c++/5/bits/stl_tree.h:63,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_iterator.h:1071:5: note: candidate: template<class _Iterator> bool std::operator==(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&)
operator==(const move_iterator<_Iterator>& __x,
^
/usr/include/c++/5/bits/stl_iterator.h:1071:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::move_iterator<_Iterator>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_tree.h:64:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/allocator.h:128:5: note: candidate: template<class _T1, class _T2> bool std::operator==(const std::allocator<_Tp1>&, const std::allocator<_T2>&)
operator==(const allocator<_T1>&, const allocator<_T2>&)
^
/usr/include/c++/5/bits/allocator.h:128:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::allocator<_Tp1>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/bits/stl_tree.h:64:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/allocator.h:134:5: note: candidate: template<class _Tp> bool std::operator==(const std::allocator<_Tp1>&, const std::allocator<_Tp1>&)
operator==(const allocator<_Tp>&, const allocator<_Tp>&)
^
/usr/include/c++/5/bits/allocator.h:134:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::allocator<_Tp1>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/set:60:0,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_tree.h:324:5: note: candidate: template<class _Val> bool std::operator==(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
operator==(const _Rb_tree_iterator<_Val>& __x,
^
/usr/include/c++/5/bits/stl_tree.h:324:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::_Rb_tree_iterator<_Tp>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/set:60:0,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_tree.h:1273:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator==(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
^
/usr/include/c++/5/bits/stl_tree.h:1273:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/set:61:0,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_set.h:840:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator==(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
operator==(const set<_Key, _Compare, _Alloc>& __x,
^
/usr/include/c++/5/bits/stl_set.h:840:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
if (!(*__first1 == *__first2))
^
In file included from /usr/include/c++/5/set:62:0,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_multiset.h:823:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator==(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
operator==(const multiset<_Key, _Compare, _Alloc>& __x,
^
/usr/include/c++/5/bits/stl_multiset.h:823:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:812:22: note: 'const IntWrapper' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>'
if (!(*__first1 == *__first2))
^