Prikaz jedne poruke
Stara 11.2.2012, 0:54   #14
ivan90BG
Veteran
 
Član od: 3.5.2008.
Lokacija: Beograd
Poruke: 760
Zahvalnice: 81
Zahvaljeno 213 puta na 144 poruka
Određen forumom Re: How to... C++

Da, da , vidim šta je po sredi. Mora jednostavno promenljiva da se deklariše kao int, da bi članovi enum-a mogli da se koriste kao flag-ovi.

Srećom u međuvremenu sam otkrio da Qt biblioteka ima rešenje za ovo. QFlags tempalete klasu koja wrapuje bilo koji enum i omogućava sve ovo.

Kod:
enum AFlag { Flag1 = 1, Flag2 = 2, Flag3 = 4, Flag4 = 8 };

typedef QFlags<AFlag> SomeFlags;
ili
Q_DECLARE_FLAGS(SomeFlags, AFlag)

i onda može

SomeFlags f = Flag1 | Flag2;
f |= Flag3;
(f |= Flag2) ^= Flag2
ivan90BG je offline   Odgovor sa citatom ove poruke