#include <iostream>
#include <vector>
using namespace std;
template<class T>
struct is_container
{
static const bool value = false;
};
template<>
template<class T, class Alloc>
struct is_container<std::vector<T, Alloc>>
{
static const bool value = true;
};
// ... same specializations for other containers...
int main() {
cout << is_container<std::vector<int>>::value << endl;
cout << is_container<int>::value << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPGNsYXNzIFQ+CnN0cnVjdCBpc19jb250YWluZXIKewoJc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBmYWxzZTsKfTsKCnRlbXBsYXRlPD4KdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgQWxsb2M+CnN0cnVjdCBpc19jb250YWluZXI8c3RkOjp2ZWN0b3I8VCwgQWxsb2M+Pgp7CglzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHRydWU7IAp9OwoKLy8gLi4uIHNhbWUgc3BlY2lhbGl6YXRpb25zIGZvciBvdGhlciBjb250YWluZXJzLi4uCgppbnQgbWFpbigpIHsKCWNvdXQgPDwgaXNfY29udGFpbmVyPHN0ZDo6dmVjdG9yPGludD4+Ojp2YWx1ZSA8PCBlbmRsOwoJY291dCA8PCBpc19jb250YWluZXI8aW50Pjo6dmFsdWUgPDwgZW5kbDsKCXJldHVybiAwOwp9