Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kArray3.h
Go to the documentation of this file.
1 
10 #ifndef K_API_ARRAY_3_H
11 #define K_API_ARRAY_3_H
12 
13 #include <kApi/kApiDef.h>
14 
15 kBeginHeader()
16 
17 
35 //typedef kObject kArray3; --forward-declared in kApiDef.x.h
36 
37 
49 kFx(kStatus) kArray3_Construct(kArray3* array, kType itemType, kSize length0, kSize length1, kSize length2, kAlloc allocator);
50 
62 kFx(kStatus) kArray3_Allocate(kArray3 array, kType itemType, kSize length0, kSize length1, kSize length2);
63 
78 kFx(kStatus) kArray3_Attach(kArray3 array, void* items, kType itemType, kSize length0, kSize length1, kSize length2);
79 
91 kFx(kStatus) kArray3_Assign(kArray3 array, kArray3 source);
92 
100 kFx(kStatus) kArray3_Zero(kArray3 array);
101 
113 kFx(kStatus) kArray3_SetItem(kArray3 array, kSize index0, kSize index1, kSize index2, const void* item);
114 
126 kFx(kStatus) kArray3_Item(kArray3 array, kSize index0, kSize index1, kSize index2, void* item);
127 
135 kFx(void*) kArray3_Data(kArray3 array);
136 
144 kFx(kSize) kArray3_DataSize(kArray3 array);
145 
156 kFx(void*) kArray3_At(kArray3 array, kSize index0, kSize index1, kSize index2);
157 
165 kFx(kType) kArray3_ItemType(kArray3 array);
166 
174 kFx(kSize) kArray3_ItemSize(kArray3 array);
175 
184 kFx(kSize) kArray3_Length(kArray3 array, kSize dimension);
185 
193 kFx(kSize) kArray3_Count(kArray3 array);
194 
197 #define kArray3_ItemType_(ARRAY) kxArray3_ItemType_(ARRAY)
198 #define kArray3_ItemSize_(ARRAY) kxArray3_ItemSize_(ARRAY)
199 #define kArray3_Length_(ARRAY, DIM) kxArray3_Length_(ARRAY, DIM)
200 #define kArray3_Count_(ARRAY) kxArray3_Count_(ARRAY)
201 #define kArray3_Data_(ARRAY) kxArray3_Data_(ARRAY)
202 #define kArray3_DataSize_(ARRAY) kxArray3_DataSize_(ARRAY)
203 #define kArray3_At_(ARRAY, I0, I1, I2) kxArray3_At_(ARRAY, I0, I1, I2)
204 
205 
206 #define kArray3_As_(ARRAY, I0, I1, I2, TYPE) kxArray3_At_(ARRAY, I0, I1, I2)
207 
210 kEndHeader()
211 
212 #include <kApi/Data/kArray3.x.h>
213 
214 #endif
void * kArray3_At(kArray3 array, kSize index0, kSize index1, kSize index2)
Returns a pointer to the specified item in the array.
kStatus kArray3_Attach(kArray3 array, void *items, kType itemType, kSize length0, kSize length1, kSize length2)
Attaches the array to an external item buffer.
kType kArray3_ItemType(kArray3 array)
Returns the array item type.
Represents an unsigned integer that can store a pointer address.
Abstract base class for memory allocator types.
kStatus kArray3_Construct(kArray3 *array, kType itemType, kSize length0, kSize length1, kSize length2, kAlloc allocator)
Constructs a kArray3 object.
kSize kArray3_ItemSize(kArray3 array)
Returns the array item size.
kStatus kArray3_Item(kArray3 array, kSize index0, kSize index1, kSize index2, void *item)
Gets the value of an item.
kStatus kArray3_Zero(kArray3 array)
Sets all array element bits to zero.
Represents a 3D array.
kStatus kArray3_Allocate(kArray3 array, kType itemType, kSize length0, kSize length1, kSize length2)
Reallocates the internal array item buffer.
Core Zen type declarations.
void * kArray3_Data(kArray3 array)
Returns a pointer to the array item buffer.
kSize kArray3_Length(kArray3 array, kSize dimension)
Returns the length of the specified array dimension, in elements.
Represents metadata about a type (class, interface, or value).
kSize kArray3_Count(kArray3 array)
Returns the array item count, in elements.
kStatus kArray3_Assign(kArray3 array, kArray3 source)
Performs a shallow copy of the source array.
kSize kArray3_DataSize(kArray3 array)
Reports the size, in bytes, of the array item buffer.
Represents an error code.
kStatus kArray3_SetItem(kArray3 array, kSize index0, kSize index1, kSize index2, const void *item)
Sets the value of an item.