- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
// поверка наличия указазанного флага в набора флагов
bool __fastcall TfrmFieldsEditor::HasFlag(int nAFlag, int nAFlagsCollection)
{
bool bRetVal = false;
std::bitset<8> bsFlagBits;
bsFlagBits.reset();
bsFlagBits = nAFlagsCollection;
int nBitsCount = bsFlagBits.size();
for(int i= 0 ; i < nBitsCount; ++i)
{
if(bsFlagBits[i]==1)
{
bsFlagBits.reset();
bsFlagBits[i] = 1;
if (bsFlagBits.to_ulong() == nAFlag)
{
bRetVal = true;
break;
}
else
bsFlagBits = nAFlagsCollection;
}
}
return bRetVal;
}
Steex 15.05.2013 16:11 # 0
bormand 15.05.2013 16:25 # +4
inkanus-gray 15.05.2013 18:50 # 0
Kirinyale 16.05.2013 13:26 # 0
Ulysses 16.05.2013 13:46 # 0
Правда, автора уволили давно.
blackhearted 21.05.2013 15:10 # 0
TarasB 16.05.2013 15:51 # 0
Ulysses 16.05.2013 16:10 # 0