inline EBarrierType StringToEBarrierType( std::string s ) {
   s = removeStringFormat(s);
   for( EBarrierType to = BARRIER_LOGARITHM; to < BARRIER_LAST; ++to ) {
     if( !s.compare(removeStringFormat(EBarrierToString(to))) ) {
       return to;
     }
   }
   return BARRIER_LOGARITHM;
 }
 inline EBarrierType StringToEBarrierType( std::string s ) {
   s = removeStringFormat(s);
   EBarrierType type = BARRIER_LOGARITHM;
   for( int to = BARRIER_LOGARITHM; to != BARRIER_LAST; ++to ) {
     type = static_cast<EBarrierType>(to);
     if( !s.compare(removeStringFormat(EBarrierToString(type))) ) {
       return type;
     }
   }
   return type;
 }