30 #ifndef _GLIBCXX_PROFILE_PROFILER_STATE_H 
   31 #define _GLIBCXX_PROFILE_PROFILER_STATE_H 1 
   35   enum __state_type { __ON, __OFF, __INVALID };
 
   37   _GLIBCXX_PROFILE_DEFINE_DATA(__state_type, __state, __INVALID);
 
   40   __turn(__state_type __s)
 
   42     __state_type inv(__INVALID);
 
   43     return __atomic_compare_exchange_n(&_GLIBCXX_PROFILE_DATA(__state),
 
   44                        &inv, __s, 
false, __ATOMIC_ACQ_REL, 
 
   50   { 
return __turn(__ON); }
 
   54   { 
return __turn(__OFF); }
 
   58   { 
return _GLIBCXX_PROFILE_DATA(__state) == __ON; }
 
   62   { 
return _GLIBCXX_PROFILE_DATA(__state) == __OFF; }
 
   66   { 
return _GLIBCXX_PROFILE_DATA(__state) == __INVALID; }
 
GNU profile code for public use.