История изменений
Исправление thesis, (текущая версия) :
Нет, std меня не смущает, потому что подразумевается, что это знают и ожидают увидеть в проекте абсолютно все. А вот тянуть сторонний код ради настолько, казалось бы, примитивной задачи, которую еще деды 50 лет назад решили и забыли (я про передачу флагов)...
Сделайте один раз свой шаблонный класс strong_typedef<T,Tag> с собственными operator| и operator& и всех делов.
А потом окажется, что, раз уж пошла такая пьянка, то в сто раз проще забыть про существование шаблонов, перегрузку операторов, strong typedef, bitset с наследованием от него и enum class вообще, и сделать struct{bool FLAG_A, FLAG_B, ... }. И потомки скажут спасибо.
Вот у меня сто лет назад был курсач по крестам, там прямым текстом было оговорено задание напихать туда максимум известных крестовых фич. Но у нас же такой цели нет, правильно?
Но вообще я прошу прощения за назойливость, просто я, влезая в разговоры о крестах, надеюсь, что меня ткнут носом где я дурак и научат более правильно мыслить, а то закостенел я чот.
Исправление thesis, :
Нет, std меня не смущает, потому что подразумевается, что это знают и ожидают увидеть в проекте абсолютно все. А вот тянуть сторонний код ради настолько, казалось бы, примитивной задачи, которую еще деды 50 лет назад решили и забыли (я про передачу флагов)...
Сделайте один раз свой шаблонный класс strong_typedef<T,Tag> с собственными operator| и operator& и всех делов.
А потом окажется, что, раз уж пошла такая пьянка, то в сто раз проще забыть про существование шаблонов, перегрузку операторов, strong typedef, bitset с наследованием от него и enum class вообще, и сделать struct{bool FLAG_A, FLAG_B, ... }. И потомки скажут спасибо.
Ну то есть у меня сто лет назад был курсач по крестам, там прямым текстом было оговорено задание напихать туда максимум известных крестовых фич. Но у нас же такой цели нет, правильно?
Исходная версия thesis, :
Нет, std меня не смущает, потому что подразумевается, что это знают и ожидают увидеть в проекте абсолютно все. А вот тянуть сторонний код ради настолько, казалось бы, примитивной задачи, которую еще деды 50 лет назад решили и забыли (я про передачу флагов)...
Сделайте один раз свой шаблонный класс strong_typedef<T,Tag> с собственными operator| и operator& и всех делов.
А потом окажется, что, раз уж пошла такая пьянка, то в сто раз проще забыть про существование шаблонов, перегрузку операторов, strong typedef, bitset с наследованием от него и enum class вообще, и сделать struct{bool FLAG_A, FLAG_B, ... }. И потомки скажут спасибо.