#include <type_traits>
#include <iostream>
struct Foo {
Foo() : x(0), y(0) {}
int x;
int y;
};
struct Bar {
Bar() = default;
int x;
int y;
};
int main()
{
if (std::is_pod<Foo>::value) std::cout << "Foo is a POD" << std::endl;
else std::cout << "Foo is *not* a POD" << std::endl;
if (std::is_pod<Bar>::value) std::cout << "Bar is a POD" << std::endl;
else std::cout << "Bar is *not* a POD" << std::endl;
}
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgojaW5jbHVkZSA8aW9zdHJlYW0+CgpzdHJ1Y3QgRm9vIHsKICBGb28oKSA6IHgoMCksIHkoMCkge30KICBpbnQgeDsKICBpbnQgeTsKfTsKCnN0cnVjdCBCYXIgewogIEJhcigpID0gZGVmYXVsdDsKICBpbnQgeDsKICBpbnQgeTsKfTsKCmludCBtYWluKCkKewogICAgaWYgKHN0ZDo6aXNfcG9kPEZvbz46OnZhbHVlKSBzdGQ6OmNvdXQgPDwgIkZvbyBpcyBhIFBPRCIgPDwgc3RkOjplbmRsOwogICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIkZvbyBpcyAqbm90KiBhIFBPRCIgPDwgc3RkOjplbmRsOwogICAgCiAgICBpZiAoc3RkOjppc19wb2Q8QmFyPjo6dmFsdWUpIHN0ZDo6Y291dCA8PCAiQmFyIGlzIGEgUE9EIiA8PCBzdGQ6OmVuZGw7CiAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiQmFyIGlzICpub3QqIGEgUE9EIiA8PCBzdGQ6OmVuZGw7Cn0=