why not using std::call_once?