Teste todos os bits arquivados em C de uma só vez
Digamos que eu tenha uma estrutura C definida como
struct data {
/* some memebers */
int flag_a:1;
int flag_b:1;
int flag_c:1;
/* some other members */
}
Existe uma maneira de tirar proveito dos campos de bits sendo representados como um único int na memória e escrever a condiçãos.flag_a | s.flag_b | s.flag_c
como uma expressão mais simples, comos.flags
?
Ou seria um compilador inteligente como o GCC capaz de deduzi-lo?
Editar: Para me tornar absolutamente claro: estou procurando uma maneira portátil de testar todos os sinalizadores configurados sem testar explicitamente cada um dos sinalizadores separadamente.