#include <iostream>
#include <mutex>
using namespace std;
std::once_flag flag;
class Class
{
public:
Class()
{
std::call_once(flag, [this]{ SomeMethod(); });
}
void SomeMethod()
{
cout << __func__ << endl;
}
};
int main(int argc, const char * argv[])
{
Class x, y;
x.SomeMethod();
y.SomeMethod();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bXV0ZXg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RkOjpvbmNlX2ZsYWcgZmxhZzsKCmNsYXNzIENsYXNzCnsKcHVibGljOgogICAgQ2xhc3MoKQogICAgewogICAgICAgIHN0ZDo6Y2FsbF9vbmNlKGZsYWcsIFt0aGlzXXsgU29tZU1ldGhvZCgpOyB9KTsKICAgIH0KCiAgICB2b2lkIFNvbWVNZXRob2QoKQogICAgewogICAgICAgIGNvdXQgPDwgX19mdW5jX18gPDwgZW5kbDsKICAgIH0KfTsKCgppbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqIGFyZ3ZbXSkKewogICAgQ2xhc3MgeCwgeTsKICAgIHguU29tZU1ldGhvZCgpOwogICAgeS5Tb21lTWV0aG9kKCk7Cn0KCgo=