8 #ifndef Navigation_KyArray_H
9 #define Navigation_KyArray_H
117 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
118 class KyArray :
public Array<T, SID, SizePolicy>
125 typedef Array<T, SID, SizePolicy> BaseType;
131 explicit KyArray(
int size) : BaseType(size) {}
132 KyArray(
const SelfType& a) : BaseType(a) {}
133 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
137 bool DoesContain(
const ValueType& value)
const;
138 void RemoveConsecutiveDuplicates();
146 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
147 class KyArrayPOD :
public ArrayPOD<T, SID, SizePolicy>
154 typedef ArrayPOD<T, SID, SizePolicy> BaseType;
160 explicit KyArrayPOD(
int size) : BaseType(size) {}
161 KyArrayPOD(
const SelfType& a) : BaseType(a) {}
162 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
165 bool DoesContain(
const ValueType& value)
const;
166 void RemoveConsecutiveDuplicates();
172 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
173 class KyArrayLH :
public ArrayLH<T, SID, SizePolicy>
179 typedef KyArrayLH<T, SID, SizePolicy> SelfType;
180 typedef ArrayLH<T, SID, SizePolicy> BaseType;
185 KyArrayLH() : BaseType() {}
186 explicit KyArrayLH(
int size) : BaseType(size) {}
187 KyArrayLH(
const SelfType& a) : BaseType(a) {}
188 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
191 bool DoesContain(
const ValueType& value)
const;
192 void RemoveConsecutiveDuplicates();
198 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
199 class KyArrayCPP :
public ArrayCPP<T, SID, SizePolicy>
205 typedef KyArrayCPP<T, SID, SizePolicy> SelfType;
206 typedef ArrayCPP<T, SID, SizePolicy> BaseType;
211 KyArrayCPP() : BaseType() {}
212 explicit KyArrayCPP(
int size) : BaseType(size) {}
213 KyArrayCPP(
const SelfType& a) : BaseType(a) {}
214 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
217 bool DoesContain(
const ValueType& value)
const;
218 void RemoveConsecutiveDuplicates();
225 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
226 class KyArrayLH_POD :
public ArrayLH_POD<T, SID, SizePolicy>
232 typedef KyArrayLH_POD<T, SID, SizePolicy> SelfType;
233 typedef ArrayLH_POD<T, SID, SizePolicy> BaseType;
238 KyArrayLH_POD() : BaseType() {}
239 explicit KyArrayLH_POD(
int size) : BaseType(size) {}
240 KyArrayLH_POD(
const SelfType& a) : BaseType(a) {}
241 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
244 bool DoesContain(
const ValueType& value)
const;
245 void RemoveConsecutiveDuplicates();
251 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
252 class KyArrayLH_CPP :
public ArrayLH_CPP<T, SID, SizePolicy>
258 typedef KyArrayLH_CPP<T, SID, SizePolicy> SelfType;
259 typedef ArrayLH_CPP<T, SID, SizePolicy> BaseType;
264 KyArrayLH_CPP() : BaseType() {}
265 explicit KyArrayLH_CPP(
int size) : BaseType(size) {}
266 KyArrayLH_CPP(
const SelfType& a) : BaseType(a) {}
267 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
270 bool DoesContain(
const ValueType& value)
const;
271 void RemoveConsecutiveDuplicates();
277 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
278 class KyArrayDH :
public ArrayDH<T, SID, SizePolicy>
284 typedef KyArrayDH<T, SID, SizePolicy> SelfType;
285 typedef ArrayDH<T, SID, SizePolicy> BaseType;
290 explicit KyArrayDH(MemoryHeap* heap) : BaseType(heap) {}
291 KyArrayDH(MemoryHeap* heap,
int size) : BaseType(heap, size) {}
292 KyArrayDH(MemoryHeap* heap,
const SelfType& a) : BaseType(heap, a) {}
293 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
296 bool DoesContain(
const ValueType& value)
const;
297 void RemoveConsecutiveDuplicates();
305 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
306 class KyArrayDH_POD :
public ArrayDH_POD<T, SID, SizePolicy>
312 typedef KyArrayDH_POD<T, SID, SizePolicy> SelfType;
313 typedef ArrayDH_POD<T, SID, SizePolicy> BaseType;
318 explicit KyArrayDH_POD(MemoryHeap* heap) : BaseType(heap) {}
319 KyArrayDH_POD(MemoryHeap* heap,
int size) : BaseType(heap, size) {}
320 KyArrayDH_POD(MemoryHeap* heap,
const SelfType& a) : BaseType(heap, a) {}
321 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
324 bool DoesContain(
const ValueType& value)
const;
325 void RemoveConsecutiveDuplicates();
332 template<
class T,
int SID=Stat_Default_Mem,
class SizePolicy=KyArrayDefaultPolicy>
333 class KyArrayDH_CPP :
public ArrayDH_CPP<T, SID, SizePolicy>
339 typedef KyArrayDH_CPP<T, SID, SizePolicy> SelfType;
340 typedef ArrayDH_CPP<T, SID, SizePolicy> BaseType;
345 explicit KyArrayDH_CPP(MemoryHeap* heap) : BaseType(heap) {}
346 KyArrayDH_CPP(MemoryHeap* heap,
int size) : BaseType(heap, size) {}
347 KyArrayDH_CPP(MemoryHeap* heap,
const SelfType& a) : BaseType(heap, a) {}
348 const SelfType& operator=(
const SelfType& a) { BaseType::operator=(a);
return *
this; }
351 bool DoesContain(
const ValueType& value)
const;
352 void RemoveConsecutiveDuplicates();
358 #endif // Navigation_KyArray_H
General purpose array for movable objects that DOES NOT require construction/destruction.
Definition: kyarray.h:156
General purpose array for movable objects that require explicit construction/destruction.
Definition: kyarray.h:118
ArrayConstPolicy< 0, 4, true > KyArrayDefaultPolicy
Default resize behavior for Gameware Navigation array.
Definition: kyarray.h:111
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36