И это всё МОЁ

Как можно наиболее красиво проверить значение на вхождение в список указанный как список инициализации?

Что бы удобно было выполнять подобные или другие условные конструкции?

void my_func(uint a, MyEnum b) {
assert( a belong {0,1,2,3} && b belong {MyEnum::def1,MyEnum::dev2} );
}