29 #ifndef PIRANHA_DETAIL_INIT_DATA_HPP 30 #define PIRANHA_DETAIL_INIT_DATA_HPP 41 template <
typename =
void>
42 struct piranha_init_statics {
43 static std::atomic_flag s_init_flag;
44 static std::atomic<bool> s_shutdown_flag;
45 static std::atomic<unsigned> s_failed;
50 std::atomic_flag piranha_init_statics<T>::s_init_flag = ATOMIC_FLAG_INIT;
53 std::atomic<bool> piranha_init_statics<T>::s_shutdown_flag(
false);
56 std::atomic<unsigned> piranha_init_statics<T>::s_failed(0u);
59 inline bool shutdown()
61 return piranha_init_statics<>::s_shutdown_flag.load();