PIP 5.5.3
Platform-Independent Primitives
Открытые члены | Полный список членов класса
Шаблон класса PIFlags< Enum >

Контейнер для битовых полей (флагов) Подробнее...

#include <piflags.h>

Открытые члены

 PIFlags ()
 Создает нулевые флаги
 
 PIFlags (Enum e)
 Создает флаги со значением = Enum "e".
 
 PIFlags (const int i)
 Создает флаги со значением = int "i".
 
PIFlagssetFlag (const PIFlags &f, bool on=true)
 Устанавливает флаги по позициям "f" в "on".
 
PIFlagssetFlag (const Enum &e, bool on=true)
 Устанавливает флаг "e" в "on".
 
PIFlagssetFlag (const int &i, bool on=true)
 Устанавливает флаг "i" в "on".
 
void operator= (const Enum &e)
 Оператор присваивания
 
void operator= (const int &i)
 Оператор присваивания
 
bool operator== (const PIFlags &f)
 Оператор сравнения
 
bool operator== (const Enum &e)
 Оператор сравнения
 
bool operator== (const int i)
 Оператор сравнения
 
bool operator!= (const PIFlags &f)
 Оператор сравнения
 
bool operator!= (const Enum &e)
 Оператор сравнения
 
bool operator!= (const int i)
 Оператор сравнения
 
bool operator> (const PIFlags &f)
 Оператор сравнения
 
bool operator> (const Enum &e)
 Оператор сравнения
 
bool operator> (const int i)
 Оператор сравнения
 
bool operator< (const PIFlags &f)
 Оператор сравнения
 
bool operator< (const Enum &e)
 Оператор сравнения
 
bool operator< (const int i)
 Оператор сравнения
 
bool operator>= (const PIFlags &f)
 Оператор сравнения
 
bool operator>= (const Enum &e)
 Оператор сравнения
 
bool operator>= (const int i)
 Оператор сравнения
 
bool operator<= (const PIFlags &f)
 Оператор сравнения
 
bool operator<= (const Enum &e)
 Оператор сравнения
 
bool operator<= (const int i)
 Оператор сравнения
 
void operator&= (const PIFlags &f)
 Оператор побитового И
 
void operator&= (const Enum &e)
 Оператор побитового И
 
void operator&= (const int i)
 Оператор побитового И
 
void operator|= (const PIFlags &f)
 Оператор побитового ИЛИ
 
void operator|= (const Enum &e)
 Оператор побитового ИЛИ
 
void operator|= (const int i)
 Оператор побитового ИЛИ
 
void operator^= (const PIFlags &f)
 Оператор побитового исключающего ИЛИ
 
void operator^= (const Enum &e)
 Оператор побитового исключающего ИЛИ
 
void operator^= (const int i)
 Оператор побитового исключающего ИЛИ
 
PIFlags operator& (PIFlags f) const
 Оператор побитового И
 
PIFlags operator& (Enum e) const
 Оператор побитового И
 
PIFlags operator& (int i) const
 Оператор побитового И
 
PIFlags operator| (PIFlags f) const
 Оператор побитового ИЛИ
 
PIFlags operator| (Enum e) const
 Оператор побитового ИЛИ
 
PIFlags operator| (int i) const
 Оператор побитового ИЛИ
 
PIFlags operator^ (PIFlags f) const
 Оператор побитового исключающего ИЛИ
 
PIFlags operator^ (Enum e) const
 Оператор побитового исключающего ИЛИ
 
PIFlags operator^ (int i) const
 Оператор побитового исключающего ИЛИ
 
bool operator[] (Enum e) const
 Оператор проверки флага
 
 operator int () const
 Оператор неявного преобразования в int.
 

Подробное описание

template<typename Enum>
class PIFlags< Enum >

Контейнер для битовых полей (флагов)

PIFlags по сути обертка вокруг "int". Можно использовать его как обычный "int". Имеет много битовых операторов, неявное преобразование в "int" и методы для проверки флагов.
Пример:

enum TestEnum {First = 0x1, Second = 0x2, Third = 0x4};
PIFlags<TestEnum> testFlags(First);
testFlags |= Third;
piCout << testFlags[First] << testFlags[Second] << testFlags[Third]; // 1 0 1
piCout << (int)testFlags; // 5
Контейнер для битовых полей (флагов)
Definition: piflags.h:55
#define piCout
Макрос для условного (piDebug) вывода в PICout(StdOut)
Definition: picout.h:35