lang.cpp: In instantiation of 'double Data<T>::operator&(const Data<T>&) const [with T = int]':
lang.cpp:47:21: required from here
lang.cpp:22:17: error: no matching function for call to 'count(std::tuple_element<0, std::pair<const int, int> >::type&)'
22 | if (not count(k)) ret += magic((double) v / o.tot);
| ~~~~~^~~
In file included from /usr/include/c++/10/algorithm:62,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
from lang.cpp:3:
/usr/include/c++/10/bits/stl_algo.h:4077:5: note: candidate: 'template<class _IIter, class _Tp> typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::count(_IIter, _IIter, const _Tp&)'
4077 | count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
| ^~~~~
/usr/include/c++/10/bits/stl_algo.h:4077:5: note: template argument deduction/substitution failed:
lang.cpp:22:17: note: candidate expects 3 arguments, 1 provided
22 | if (not count(k)) ret += magic((double) v / o.tot);
| ~~~~~^~~
In file included from /usr/include/c++/10/algorithm:74,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
from lang.cpp:3:
/usr/include/c++/10/pstl/glue_algorithm_defs.h:101:1: note: candidate: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, typename std::iterator_traits<_II>::difference_type> std::count(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
101 | count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
| ^~~~~
/usr/include/c++/10/pstl/glue_algorithm_defs.h:101:1: note: template argument deduction/substitution failed:
lang.cpp:22:17: note: candidate expects 4 arguments, 1 provided
22 | if (not count(k)) ret += magic((double) v / o.tot);
| ~~~~~^~~