palindrome.cpp:11:26: error: 'typanameT2' has not been declared
template <typename T1, typanameT2>
^~~~~~~~~~
palindrome.cpp:12:38: error: 'T2' was not declared in this scope
size_t operator () (const pair<T1, T2> &t) const {
^~
palindrome.cpp:12:38: note: suggested alternative: 'p2'
size_t operator () (const pair<T1, T2> &t) const {
^~
p2
palindrome.cpp:12:40: error: template argument 2 is invalid
size_t operator () (const pair<T1, T2> &t) const {
^
palindrome.cpp: In member function 'size_t pair_hash::operator()(const int&) const':
palindrome.cpp:13:30: error: request for member 'first' in 't', which is of non-class type 'const int'
return std::hash<T1>()(t.first) ^ std::hash<T2>()(t.second);
^~~~~
palindrome.cpp:13:49: error: 'T2' was not declared in this scope
return std::hash<T1>()(t.first) ^ std::hash<T2>()(t.second);
^~
palindrome.cpp:13:49: note: suggested alternative: 'T1'
return std::hash<T1>()(t.first) ^ std::hash<T2>()(t.second);
^~
T1
palindrome.cpp:13:51: error: template argument 1 is invalid
return std::hash<T1>()(t.first) ^ std::hash<T2>()(t.second);
^
palindrome.cpp:13:57: error: request for member 'second' in 't', which is of non-class type 'const int'
return std::hash<T1>()(t.first) ^ std::hash<T2>()(t.second);
^~~~~~
In file included from /usr/include/c++/7/bits/hashtable.h:35:0,
from /usr/include/c++/7/unordered_map:47,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
from palindrome.cpp:3:
/usr/include/c++/7/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash>':
/usr/include/c++/7/type_traits:143:12: required from 'struct std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> >'
/usr/include/c++/7/type_traits:154:31: required from 'struct std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
/usr/include/c++/7/bits/unordered_map.h:103:66: required from 'class std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>'
palindrome.cpp:24:45: required from here
/usr/include/c++/7/bits/hashtable_policy.h:87:34: error: no match for call to '(const pair_hash) (const std::pair<long long int, long long int>&)'
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
palindrome.cpp:12:10: note: candidate: template<class T1, <typeprefixerror><anonymous> > size_t pair_hash::operator()(const int&) const
size_t operator () (const pair<T1, T2> &t) const {
^~~~~~~~
palindrome.cpp:12:10: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/hashtable.h:35:0,
from /usr/include/c++/7/unordered_map:47,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
from palindrome.cpp:3:
/usr/include/c++/7/bits/hashtable_policy.h:87:34: note: couldn't deduce template parameter 'T1'
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/move.h:54:0,
from /usr/include/c++/7/bits/nested_exception.h:40,
from /usr/include/c++/7/exception:143,
from /usr/include/c++/7/ios:39,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from palindrome.cpp:3:
/usr/include/c++/7/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >':
/usr/include/c++/7/bits/unordered_map.h:103:66: required from 'class std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>'
palindrome.cpp:24:45: required from here
/usr/include/c++/7/type_traits:154:31: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> >'
: public __bool_constant<!bool(_Pp::value)>
^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/unordered_map:48:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
from palindrome.cpp:3:
/usr/include/c++/7/bits/unordered_map.h: In instantiation of 'class std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>':
palindrome.cpp:24:45: required from here
/usr/include/c++/7/bits/unordered_map.h:103:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
^~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:110:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::key_type key_type;
^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:111:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::value_type value_type;
^~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:112:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::mapped_type mapped_type;
^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:113:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::hasher hasher;
^~~~~~
/usr/include/c++/7/bits/unordered_map.h:114:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::key_equal key_equal;
^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:115:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::allocator_type allocator_type;
^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:120:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::pointer pointer;
^~~~~~~
/usr/include/c++/7/bits/unordered_map.h:121:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::const_pointer const_pointer;
^~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:122:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::reference reference;
^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:123:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::const_reference const_reference;
^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:124:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::iterator iterator;
^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:125:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::const_iterator const_iterator;
^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:126:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::local_iterator local_iterator;
^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:127:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::const_local_iterator const_local_iterator;
^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:128:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::size_type size_type;
^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:129:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
typedef typename _Hashtable::difference_type difference_type;
^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:288:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
operator=(initializer_list<value_type> __l)
^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:386:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
emplace(_Args&&... __args)
^~~~~~~
/usr/include/c++/7/bits/unordered_map.h:578:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
insert(const value_type& __x)
^~~~~~
/usr/include/c++/7/bits/unordered_map.h:584:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
insert(value_type&& __x)
^~~~~~
/usr/include/c++/7/bits/unordered_map.h:591:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
insert(_Pair&& __x)
^~~~~~
/usr/include/c++/7/bits/unordered_map.h:657:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
insert(initializer_list<value_type> __l)
^~~~~~
/usr/include/c++/7/bits/unordered_map.h:953:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
equal_range(const key_type& __x)
^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:957:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<pair_hash>, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, pair_hash> > >'
equal_range(const key_type& __x) const
^~~~~~~~~~~
palindrome.cpp: In function 'void go(int, int, std::pair<long long int, long long int>)':
palindrome.cpp:52:15: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' and 'std::pair<long long int, long long int>')
int v = mp[now], u;
^
palindrome.cpp:53:12: error: 'class std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' has no member named 'count'
if(!mp.count(par)){
^~~~~
palindrome.cpp:54:9: error: 'u' was not declared in this scope
u = mp[par] = ++pv; len[u] = e-s-1;
^
palindrome.cpp:54:15: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' and 'std::pair<long long int, long long int>')
u = mp[par] = ++pv; len[u] = e-s-1;
^
palindrome.cpp:55:11: error: 'u' was not declared in this scope
}else u = mp[par];
^
palindrome.cpp:55:17: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' and 'std::pair<long long int, long long int>')
}else u = mp[par];
^
palindrome.cpp:56:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(lnk[v]) return; lnk[v] = 1;
^~
palindrome.cpp:56:24: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if(lnk[v]) return; lnk[v] = 1;
^~~
palindrome.cpp:57:7: error: 'u' was not declared in this scope
g[u].push_back(v);
^
palindrome.cpp: In function 'int main()':
palindrome.cpp:96:16: error: 'class std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' has no member named 'count'
if(!mp.count(now)){
^~~~~
palindrome.cpp:97:15: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' and 'std::pair<long long int, long long int>')
mp[now] = ++pv; len[mp[now]] = e-s+1;
^
palindrome.cpp:97:35: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' and 'std::pair<long long int, long long int>')
mp[now] = ++pv; len[mp[now]] = e-s+1;
^
palindrome.cpp:99:15: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, int, pair_hash>' and 'std::pair<long long int, long long int>')
cnt[mp[now]]++;
^