#include <utility>
#include <iostream>
void foo(const std::pair<const char*, std::size_t>& p)
{
std::cout << "pair" << std::endl;
}
template <class T>
void foo(const T& v)
{
std::cout << "generic" << std::endl;
}
int main()
{
const char* s = "abc";
foo(std::make_pair(s, std::size_t(3)));
return 0;
}
I2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnZvaWQgZm9vKGNvbnN0IHN0ZDo6cGFpcjxjb25zdCBjaGFyKiwgc3RkOjpzaXplX3Q+JiBwKQp7CiAgICBzdGQ6OmNvdXQgPDwgInBhaXIiIDw8IHN0ZDo6ZW5kbDsKfQoKdGVtcGxhdGUgPGNsYXNzIFQ+CnZvaWQgZm9vKGNvbnN0IFQmIHYpCnsKICAgIHN0ZDo6Y291dCA8PCAiZ2VuZXJpYyIgPDwgc3RkOjplbmRsOwp9CgppbnQgbWFpbigpCnsKICAgIGNvbnN0IGNoYXIqIHMgPSAiYWJjIjsKICAgIGZvbyhzdGQ6Om1ha2VfcGFpcihzLCBzdGQ6OnNpemVfdCgzKSkpOwogICAgcmV0dXJuIDA7Cn0=