OrderItem

Inherited from XItem,

Inherited by NULL

Friend class XManager,

Description

OrderItem是一种顺序对象,它为主从关系对象的从对象(Slave Object)提供了统一的基类,主从关系对象是XT数据框架约定的一种特定关系,在该约定中,对于每一个从对象最多属于一个主对象(也可以为空),比如,一个单元最多属于一个几何实体。为了保证在主对象中遍历从对象的顺序一定(如果顺序不一定,由于计算机的截断误差等将无法保证涉及该主从对象的算法结果保持一致),从对象必须保证一定的顺序关系(Order),它通过存储对象的前后相邻对象来保证这一顺序关系,而主对象也会存储首尾从对象(通过OrderContainer实现)。这样的数据结构设计虽然使用了多余的空间用来保存相邻对象以及主对象的引用,但主对象也不需要用单独的数组等数据结构来保存子对象的引用,能够充分利用内存池的特点,总体上内存的使用更加合理;同时,顺序访问和随机访问(通过对象管理器的接口)的性能都可以得到最大程度的优化,对主从关系对象的修改(比如删除、添加)也更加简洁、方便。

Members

Public interface


const OrderItem * m_pPrev

前相邻对象

const OrderItem * m_pNext

后相邻对象

const XItem * m_pMaster

所属主对象


OrderItem(ulong id = 0, TypeID tid = 0)

void setPrev(const OrderItem * el)

void setNext(const OrderItem * el)

const OrderItem * next() const

const OrderItem * prev() const

void cut()

void setMaster(const XItem * el)

const XItem * getMaster() const

void setPrevNextID(int prevID, int nextID)