#include <iostream>
// length specified implementation
void f(const char *s, std::size_t N)
{
std::cout << "size: " << N << '\n';
}
// fixed buffer template wrapper
template<std::size_t N>
void f(const char(&ar)[N])
{
f(ar,N); // invokes length-specified implementation from above.
}
int main()
{
f("aaaa");
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy8gbGVuZ3RoIHNwZWNpZmllZCBpbXBsZW1lbnRhdGlvbgp2b2lkIGYoY29uc3QgY2hhciAqcywgc3RkOjpzaXplX3QgTikKewoJc3RkOjpjb3V0IDw8ICJzaXplOiAiIDw8IE4gPDwgJ1xuJzsKfQoKLy8gZml4ZWQgYnVmZmVyIHRlbXBsYXRlIHdyYXBwZXIKdGVtcGxhdGU8c3RkOjpzaXplX3QgTj4Kdm9pZCBmKGNvbnN0IGNoYXIoJmFyKVtOXSkKewogICAgZihhcixOKTsgLy8gaW52b2tlcyBsZW5ndGgtc3BlY2lmaWVkIGltcGxlbWVudGF0aW9uIGZyb20gYWJvdmUuCn0KCmludCBtYWluKCkKewogICAgZigiYWFhYSIpOwp9Cg==