Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kArrayProvider.h
Go to the documentation of this file.
1 
10 #ifndef K_API_ARRAY_PROVIDER_H
11 #define K_API_ARRAY_PROVIDER_H
12 
13 #include <kApi/kApiDef.h>
14 #include <kApi/Data/kArrayProvider.x.h>
15 
21 //typedef kObject kArrayProvider; --forward-declared in kApiDef.x.h
22 
33 kInlineFx(kStatus) kArrayProvider_Construct(kArrayProvider* provider, kType type, kAlloc objectAllocator, kAlloc valueAllocator)
34 {
35  return kType_IVTableT(type, kArrayProvider)->VConstructDefault(provider, objectAllocator, valueAllocator);
36 }
37 
50 #if defined(K_CPP)
52 {
53  return xkArrayProvider_VTable(provider)->VAssign(provider, source, context);
54 }
55 #endif
56 
66 {
67  return xkArrayProvider_VTable(provider)->VImitate(provider, source);
68 }
69 
78 {
79  return xkArrayProvider_VTable(provider)->VItemType(provider);
80 }
81 
90 {
91  return kType_Size(kArrayProvider_ItemType(provider));
92 }
93 
102 {
103  return xkArrayProvider_VTable(provider)->VCount(provider);
104 }
105 
114 {
115  return xkArrayProvider_VTable(provider)->VData(provider);
116 }
117 
126 {
127  return xkArrayProvider_VTable(provider)->VDataSize(provider);
128 }
129 
138 {
139  return xkArrayProvider_VTable(provider)->VDataAlloc(provider);
140 }
141 
142 #endif
kType kArrayProvider_ItemType(kArrayProvider provider)
Returns the array item type.
Definition: kArrayProvider.h:77
Represents a void pointer.
kSize kArrayProvider_DataSize(kArrayProvider provider)
Reports the size, in bytes, of the array item buffer.
Definition: kArrayProvider.h:125
Represents an unsigned integer that can store a pointer address.
Abstract base class for memory allocator types.
#define kInlineFx(TYPE)
Inline method declaration helper.
Definition: kApiDef.h:26
kPointer kArrayProvider_Data(kArrayProvider provider)
Gets a pointer to the array element data.
Definition: kArrayProvider.h:113
kStatus kArrayProvider_Assign(kArrayProvider provider, kArrayProvider source, kObject context=kNULL)
Performs a shallow copy of the source array.
Definition: kArrayProvider.h:51
kStatus kArrayProvider_Construct(kArrayProvider *provider, kType type, kAlloc objectAllocator, kAlloc valueAllocator)
Constructs a default instance of the specified array provided type.
Definition: kArrayProvider.h:33
kAlloc kArrayProvider_ValueAlloc(kArrayProvider provider)
Reports the value allocator that was optionally provided at construction time.
Definition: kArrayProvider.h:137
Core Zen type declarations.
kSize kArrayProvider_ItemSize(kArrayProvider provider)
Returns the array item size.
Definition: kArrayProvider.h:89
kSize kType_Size(kType type)
Gets the external size of a type.
Definition: kType.h:304
kSize kArrayProvider_Count(kArrayProvider provider)
Gets the array element count.
Definition: kArrayProvider.h:101
Represents metadata about a type (class, interface, or value).
Supports operations on contiguous array-based data types.
Root of all Zen classes.
Represents an error code.
kStatus kArrayProvider_Imitate(kArrayProvider provider, kArrayProvider source)
Copies the properties of a source array, such as its dimensions, without copying its data...
Definition: kArrayProvider.h:65
#define kNULL
Null pointer.
Definition: kApiDef.h:269
#define kType_IVTableT(kType_type, T)
Gets a strongly-typed pointer to the type's virtual method table corresponding to the specified inter...
Definition: kType.h:400