/in/foo.cc:34:30: error: 'node' does not name a type
34 | bool operator<(const node& b)const
| ^~~~
/in/foo.cc: In member function 'bool newpair::operator<(const int&) const':
/in/foo.cc:36:38: error: request for member 'success' in 'b', which is of non-class type 'const int'
36 | return (success == b.success ? no < b.no : success > b.success);
| ^~~~~~~
/in/foo.cc:36:55: error: request for member 'no' in 'b', which is of non-class type 'const int'
36 | return (success == b.success ? no < b.no : success > b.success);
| ^~
/in/foo.cc:36:72: error: request for member 'success' in 'b', which is of non-class type 'const int'
36 | return (success == b.success ? no < b.no : success > b.success);
| ^~~~~~~
In file included from /usr/include/c++/12/bits/stl_algobase.h:71,
from /usr/include/c++/12/string:50,
from /usr/include/c++/12/bits/locale_classes.h:40,
from /usr/include/c++/12/bits/ios_base.h:41,
from /usr/include/c++/12/ios:42,
from /usr/include/c++/12/ostream:38,
from /usr/include/c++/12/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = newpair*; _Iterator2 = newpair*]':
/usr/include/c++/12/bits/stl_algo.h:1809:14: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1849:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1940:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:4820:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = newpair*]'
/in/foo.cc:54:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:45:23: error: no match for 'operator<' (operand types are 'newpair' and 'newpair')
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/in/foo.cc:34:14: note: candidate: 'bool newpair::operator<(const int&) const'
34 | bool operator<(const node& b)const
| ^~~~~~~~
/in/foo.cc:34:36: note: no known conversion for argument 1 from 'newpair' to 'const int&'
34 | bool operator<(const node& b)const
| ~~~~~~~~~~~~^
In file included from /usr/include/c++/12/string:47:
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)'
1246 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:45:23: note: 'newpair' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)'
1254 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:45:23: note: 'newpair' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_less_iter::operator()(_Value&, _Iterator) const [with _Value = newpair; _Iterator = newpair*]':
/usr/include/c++/12/bits/stl_algo.h:1789:20: required from 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Val_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1817:36: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1849:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1940:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = newpair*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:4820:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = newpair*]'
/in/foo.cc:54:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:98:22: error: no match for 'operator<' (operand types are 'newpair' and 'newpair')
98 | { return __val < *__it; }
| ~~~~~~^~~~~~~
/in/foo.cc:34:14: note: candidate: 'bool newpair::operator<(const int&) const'
34 | bool operator<(const node& b)const
| ^~~~~~~~
/in/foo.cc:34:36: note: no known conversion for argument 1 from 'newpair' to 'const int&'
34 | bool operator<(const node& b)const
| ~~~~~~~~~~~~^
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)'
1246 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:98:22: note: 'newpair' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
98 | { return __val < *__it; }
| ~~~~~~^~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)'
1254 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:98:22: note: 'newpair' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
98 | { return __val < *__it; }
| ~~~~~~^~~~~~~
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = newpair*; _Value = newpair]':
/usr/include/c++/12/bits/stl_heap.h:140:48: required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = newpair*; _Distance = long int; _Tp = newpair; _Compare = __gnu_cxx::__ops::_Iter_less_val]'
/usr/include/c++/12/bits/stl_heap.h:247:23: required from 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp,