Как я могу создать атомарный enum в C ++?

Учебный классatomic содержитатомарные версии многих различных типов переменных, Тем не менее, он не содержит атомарного типа enum. Есть ли способ использовать атомные перечисления или сделать мои собственные? Насколько я могу судить, мой единственный вариант - не использовать перечисления или использовать взаимные исключения / семафоры для их защиты.

Примечание: этосообщение об ошибке Я обнаружил упоминания «поддержка перечисления std :: atomic», но я не вижу упоминания о типе атомарного перечисления в Стандарте C ++, поэтому я не уверен, к чему это относится.