gamebryo容器

模板类
Gamebryo提供了一序列基本的模版容器类。在Gamebryo内部这些容器类在库的内部普遍使用。这些基本的容器类在下面描述;特们的特定用处和成员函数将在后面的章节中描述。

列表
NiTPointerList对象用来可以用来容纳和管理指针、智能指针或者其他等于指针类型大小或更小的元素。这个类允许在任意的位置有效地插入或删除元素,以及有效地前向和后向迭代所有元素。这个类也可用来查找给定值的元素的存在和位置。NiTPointerList的项从共享内存池中按块分配,这使得这个类快速和内存高效。NiTList已经不赞成使用,应用程序应该使用NiTPointerList代替。对于大小大于指针大小的对象,可以使用NiTObjectList。

数组
NiTArray对象实现动态数据的功能,几乎可以容纳任意类型的对象。数组可以增长和收缩,还可以根据需求进行压缩(通过转移元素来删除空的空间)。对于基本类型(char*,float,int等)请使用NiTPrimitiveArray。对于从NiMemObject派生的类型,请使用NiTObjectArray。注意NiTArray有65535个元素的限制,对于更大数目的数组请使用NiTLargeArray派生的类,例如:NiTLargePrimitiveArray或NiTLargeObjectArray。

映射
NiTPointMap对象实现哈希表(也叫“字典”)的功能,允许任意类的键映射到一个指针、智能指针或者其他等于指针类型大小或更小的元素。它们能够进行键/值对的快速存储和查找。不要使用它来作为字符串键的哈希表,对于这样的哈希表请使用专门为之设计的NiTStringPointerMap对象。NiTPointerMap和NiTStringPointerMap的项从共享内存池中按块分配,这使得这些类快速和高效。对于大小大于指针大小的对象可以使用NiTMap和NiTStringMap。

StringMap
字符串映射
NiTStringMap和NiTStringPointerMap对象在某种程度上功能上类似于NiTMap和NiTPointerMap对象,但是它们接受字符串作为键并使用字符串比较作为键哈希。
FixedStringMap
固定字符串映射
NiTFixedStringMap对象的功能在某种程度上类似于NiTMap对象,但它接受NiFixedString对象作为键。

Queue
队列
NiTQueue为几乎任何类型的对象实现一个先进先出(FIFO)的队列。但不支持智能指针。
集合
NiTSet为几乎任何类型的对象实现一个无序的集合。但不支持智能指针。对于基本类型(char*,float,int等)请使用NiTPrimitiveSet。对于NiMemObject派生的对象请使用NiTObjectSet。对于对象的智能指针请使用NiTObjectPtrSet和NiPrimitivePtrSet,它们能正确地处理引用计数。

内存池
NiTPool实现小对象的内存池。使得应用程序可以一次分配大量小对象并通过内存池重用它们,而不是单个地分配和释放小对象。

你可能感兴趣的:(game)