У меня есть серия битовых флагов, которые упорядочивают что-то вроде {none=0x00, puppies=0x01, kittens=0x02, cute=0x04, funny=0x08, scary=0x10}
и так далее.
Всякий раз, когда пользователь выполняет поиск, я просто |=
каждый из флагов, которые они хотят, например, если пользователь хочет что-то милых котят, я бы просто search |= cute
и search |= kittens
.
Тем не менее, когда я выполняю операцию поиска, перебирая и проверяя все свои предметы, где этот предмет имеет (flag & search) != 0
, он вместо этого возвращает предметы, которые имеют симпатичные атрибуты ИЛИ котят.Как я могу изменить это так, чтобы он возвращал милые атрибуты и котят?