/** * In grid reading, it is important to have all the bits aligned. * Unaligned bits can lead to misreading and therefore to bugs. * * Trust me, I've shipped in production a product that had a * broken feature due to a wrong bit. */ enum States { LOADING /***/ = 0b000000, /* Set to 0 because it is the initial state */ FAILED /****/ = 0b000001, LOADED /****/ = 0b000010, PLAYING /***/ = 0b000100, STOPPED /***/ = 0b001000 }