I'm going to suggest that it myStateis of your type enum State.
enum , . myState , enum.
enum 1, 2, 4 8 , 4 | 2 = 6. C int, enum, ++. myState = 6 ++. , myState = 4 ++, enum.
C, myState , (, 6).
, , :
typedef enum {
OTHER,
MINIMIZED,
MAXIMIZED
} win_size_t;
typedef struct {
win_size_t current;
win_size_t next;
} state_t;
state_t myState;
, current next .
, . , . , ( C, enum - int).
typedef struct {
win_size_t current : 2;
win_size_t next : 2;
} state_t;
, . , myState enum State as, enum , .
, myState , .
myState enum State, , enum .
enum State {
MINIMIZING = (1u << 0),
MAXIMIZING = (1u << 1),
MINIMIZED = (1u << 2),
MAXIMIZED = (1u << 3),
};
unsigned int myState = 0;
myState |= MAXIMIZED; // sets that bit
myState &= ~MAXIMIZED; // resets that bit
:
myState = MAXIMIZED | MINIMIZING;
, :
myState = MAXIMIZED | MINIMIZED; // does that make sense?