Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс BitArray

Закрытые статические члены

static int IDToIndex (int id)
 
static int IDToMask (int id)
 
static array< intCreateMaskArray (int size)
 Creates an array which will be able to accomodate 'size' number of unique IDs.
 
static int GetBitCount (array< int > bit_array)
 Returns number of bits this array can hold.
 
static int IDToNumOfItems (int id)
 Returns number of INTs required to hold this ID minus 1(ie for 32, the result is 0, for 33, the result is 1)
 
static array< intCreateArrayWithID (int id)
 
static bool IsMaskContainID (array< int > bit_array, int id)
 
static bool AddIDToMask (array< int > bit_array, int id)
 

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

Методы

◆ AddIDToMask()

static bool AddIDToMask ( array< int > bit_array,
int id )
inlinestaticprivate
86 {
87 if( BitArray.IDToNumOfItems(id) > bit_array.Count() )
88 {
89 return false;
90 }
91 else
92 {
94 int bit = BitArray.IDToMask(id);
97 return true;
98 }
99 }
Definition BitArray.c:6
static int IDToNumOfItems(int id)
Returns number of INTs required to hold this ID minus 1(ie for 32, the result is 0,...
Definition BitArray.c:40
static int IDToMask(int id)
Definition BitArray.c:14
Definition EntityAI.c:95

Перекрестные ссылки IDToMask() и IDToNumOfItems().

◆ CreateArrayWithID()

static array< int > CreateArrayWithID ( int id)
inlinestaticprivate
48 {
49 int m_NumOfItems = BitArray.IDToNumOfItems(id);//TODO: check for too big id
50 int bit = BitArray.IDToMask(id);
51
53
54 for(int i = 0;i <= m_NumOfItems;i++)
55 {
56 bit_array.Insert(0);
57 }
59 return bit_array;
60 }

Перекрестные ссылки IDToMask() и IDToNumOfItems().

◆ CreateMaskArray()

static array< int > CreateMaskArray ( int size)
inlinestaticprivate

Creates an array which will be able to accomodate 'size' number of unique IDs.

22 {
25
26 for(int i = 0;i <= m_NumOfItems;i++)
27 {
28 bit_array.Insert(0);
29 }
30
31 return bit_array;
32 }

Перекрестные ссылки IDToNumOfItems().

◆ GetBitCount()

static int GetBitCount ( array< int > bit_array)
inlinestaticprivate

Returns number of bits this array can hold.

35 {
36 return ( (bit_array.Count() ) * BIT_INT_SIZE );
37 }
const int BIT_INT_SIZE
Definition BitArray.c:4

Перекрестные ссылки BIT_INT_SIZE.

◆ IDToIndex()

static int IDToIndex ( int id)
inlinestaticprivate
8 {
10 int index = (id - (m_NumOfItems * BIT_INT_SIZE)) - 1;
11 return index;
12 }

Перекрестные ссылки BIT_INT_SIZE и IDToNumOfItems().

Используется в IDToMask().

◆ IDToMask()

static int IDToMask ( int id)
inlinestaticprivate
15 {
16 int index = BitArray.IDToIndex(id);
17 int bit = 1 << index;
18 return bit;
19 }
static int IDToIndex(int id)
Definition BitArray.c:7

Перекрестные ссылки IDToIndex().

Используется в AddIDToMask(), CreateArrayWithID() и IsMaskContainID().

◆ IDToNumOfItems()

static int IDToNumOfItems ( int id)
inlinestaticprivate

Returns number of INTs required to hold this ID minus 1(ie for 32, the result is 0, for 33, the result is 1)

41 {
42 int m_NumOfItems = id / BIT_INT_SIZE;
43 if( id % BIT_INT_SIZE == 0 ) m_NumOfItems--;
44 return m_NumOfItems;
45 }

Перекрестные ссылки BIT_INT_SIZE.

Используется в AddIDToMask(), CreateArrayWithID(), CreateMaskArray(), IDToIndex() и IsMaskContainID().

◆ IsMaskContainID()

static bool IsMaskContainID ( array< int > bit_array,
int id )
inlinestaticprivate
63 {
64 if( BitArray.IDToNumOfItems( id ) > bit_array.Count() )
65 {
66 return false;
67 }
68 else
69 {
73
74 if ( index_mask & array_mask )
75 {
76 return true;
77 }
78 else
79 {
80 return false;
81 }
82 }
83 }

Перекрестные ссылки IDToMask() и IDToNumOfItems().


Объявления и описания членов класса находятся в файле: