<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://xt-solution.cn/xdoc/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://xt-solution.cn/xdoc/feed.php">
        <title>XT Document class:kernel</title>
        <description></description>
        <link>https://xt-solution.cn/xdoc/</link>
        <image rdf:resource="https://xt-solution.cn/xdoc/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-10-23T18:55:58+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:arraypool&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:cmdhistory&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:exception&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hash&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hashcleaner&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hashiterator&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hmember&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:iofile&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:iterator&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:linklist&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:listener&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:listiterator&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:observer&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:octree&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:opncontext&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:opnrecorder&amp;rev=1683342608&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:tcomplexhash&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xarray&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xbufferio&amp;rev=1691109650&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xformatio&amp;rev=1691109650&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xh5io&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xhash&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xitemarray&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xitemptrarray&amp;rev=1683327675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xlogger&amp;rev=1660003381&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmempool&amp;rev=1683345203&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmlreader&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmlwriter&amp;rev=1592664204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xrenderdata&amp;rev=1691155204&amp;do=diff"/>
                <rdf:li rdf:resource="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xtextio&amp;rev=1691109650&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://xt-solution.cn/xdoc/lib/tpl/dokuwiki/images/favicon.ico">
        <title>XT Document</title>
        <link>https://xt-solution.cn/xdoc/</link>
        <url>https://xt-solution.cn/xdoc/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:arraypool&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:arraypool</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:arraypool&amp;rev=1683327675&amp;do=diff</link>
        <description>ArrayPool

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Members

	*  ulong m_ulUsedCount
	*  ulong m_ulArraySize
	*  int m_iUnitSize
	*  void * m_pArray
	*  XNextLink * m_pNext
	*  void * m_pFront

Public interface

	*  ArrayPool(ulong unitCnt, int unitSize)
	*  ~ArrayPool()
	*  void * geXArrayPool()
	*  ulong &lt;a name=&quot;m_ulusedcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ularraysize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_iunitsize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_parray&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pnext&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pfront&quot;&gt;&lt;/a&gt;&lt;a name=…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:cmdhistory&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:cmdhistory</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:cmdhistory&amp;rev=1683327675&amp;do=diff</link>
        <description>CmdHistory

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Members

	*  ulong ulDid
	*  ulong ulCid
	*  ulong ulOpnCount
	*  int64 liCbegin
	*  int64 liCend
	*  TString&lt;32&gt; strName

Private interface

	*  CmdHistory(const char * name = NULL)
	*  ulong getId()
	*  const char * getName()&lt;a name=&quot;uldid&quot;&gt;&lt;/a&gt;&lt;a name=&quot;ulcid&quot;&gt;&lt;/a&gt;&lt;a name=&quot;ulopncount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;licbegin&quot;&gt;&lt;/a&gt;&lt;a name=&quot;licend&quot;&gt;&lt;/a&gt;&lt;a name=&quot;strname&quot;&gt;&lt;/a&gt;&lt;a name=&quot;cmdhistory1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getid&quot;&gt;&lt;/a&gt;&lt;a name=&quot;…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:exception&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:exception</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:exception&amp;rev=1592664204&amp;do=diff</link>
        <description>Exception

Inherited from  exception,

Inherited by  NULL

Friend class  NULL

Description

Members

	*  ErrorCode m_iErrCode

Public interface

	*  Exception(ErrorCode err = Error_None) : m_iErrCode(err)
	*  void setType(ErrorCode err)
	*  ErrorCode getType()

----------
&lt;a name=&quot;m_ierrcode&quot;&gt;&lt;/a&gt;
ErrorCode m_iErrCode&lt;a name=&quot;exception1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;settype&quot;&gt;&lt;/a&gt;&lt;a name=&quot;gettype&quot;&gt;&lt;/a&gt;</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hash&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:hash</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hash&amp;rev=1592664204&amp;do=diff</link>
        <description>Hash

Inherited from NULL

Inherited by NULL

Friend class HashIterator

Description

存储管理数据地址，使用取模的Hash运算快速定位数据地址。 

Hash由基本索引表（Base Index Table，以下简称BIT）和一个用于分配Hash节点的内存池组成，基本索引表的长度表征了Hash的大小。Hash节点（LinkNode）包含两个指针，其中一个指向数据，另一个指向下一个节点。由Hash定位的数据需要提供一个函数（IdGetter）以获取唯一标识它的整型数，将此整型数对基本索引表的长度取模，得到的余数就是该数据在Hash中的索引。原则上该数据的地址存在基本索引表余数对应的位置上，如果有两个数据拥有相同的索引，则将所有的同索引的数据链结起来形成一个链表，除了存放在基本索引表的节点外，其他节点都存储在内存池中。…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hashcleaner&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:hashcleaner</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hashcleaner&amp;rev=1592664204&amp;do=diff</link>
        <description>HashCleaner

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Public interface

	*  static void clean(THash&lt;T&gt; * pHash)
	*  static void clean(TComplexHash&lt;T&gt; * pHash)

----------
&lt;a name=&quot;clean&quot;&gt;&lt;/a&gt;
static void clean(THash&lt;T&gt; * pHash)

	* function: 
	* &lt;a name=&quot;clean&quot;&gt;&lt;/a&gt;</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hashiterator&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:hashiterator</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hashiterator&amp;rev=1592664204&amp;do=diff</link>
        <description>HashIterator

Inherited from  Iterator,

Inherited by  NULL

Friend class  NULL

Description

HashIterator向THash和TComplexHash提供遍历元素功能。在使用前必须与数据容器绑定。下面所示为HashIterator使用代码：


THash&lt;T&gt; hash;
HashIterator hIter;
hash.setContainer(&amp;hIter);
hIter.reset();
T * pData;
while(pData = (T*)hIter.next())
{
  ...
}

&lt;a name=&quot;m_ptablenode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pcurnode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_phashlinktable&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ultablesize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;hashiterator1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setcontainer&quot;&gt;&lt;/a&gt;&lt;a name=&quot;reset&quot;&gt;&lt;/a&gt;&lt;a name=&quot;n…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hmember&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:hmember</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:hmember&amp;rev=1683327675&amp;do=diff</link>
        <description>HMember

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Members

	*  XType _tag
	*  TypeID _locType

Private interface

	*  HMember(const char * tag, int locType)

----------
&lt;a name=&quot;_tag&quot;&gt;&lt;/a&gt;
XType _tag
&lt;a name=&quot;_loctype&quot;&gt;&lt;/a&gt;
TypeID _locType

----------
&lt;a name=&quot;hmember1&quot;&gt;&lt;/a&gt;
HMember(const char * tag, int locType)</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:iofile&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:iofile</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:iofile&amp;rev=1592664204&amp;do=diff</link>
        <description>IOFile

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

IOFile封装了文件IO的操作，支持大于2GB的大文件的读入写出，IOFile支持二进制和文本格式的读入写出，对于文本格式，IOFile还提供了缓存模式，可以大幅提高文件IO的性能。除此之外，针对XT系统的应用，IOFile还提供了二进制数据块的校验功能（startBlock、endBlock、readBlockHeader和assertBlock），根据XT系统的文本文件格式，提供了方便的读入写出函数。&lt;a name=&quot;m_strpath&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pfp&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_lisize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pbuf&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ibufsize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;iofile1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;open&quot;&gt;&lt;/a&gt;&lt;a name=&quot;isend&quot;&gt;&lt;/a&gt;&lt;a name=&quot;close&quot;&gt;&lt;/a&gt;&lt;a name=&quot;size&quot;&gt;&lt;/a…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:iterator&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:iterator</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:iterator&amp;rev=1592664204&amp;do=diff</link>
        <description>Iterator

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Public interface

	*  virtual void setContainer(void *pContainer) = 0
	*  virtual void reset() = 0
	*  virtual void * next() = 0

----------
&lt;a name=&quot;setcontainer&quot;&gt;&lt;/a&gt;
virtual void setContainer(void *pContainer) = 0&lt;a name=&quot;reset&quot;&gt;&lt;/a&gt;&lt;a name=&quot;next&quot;&gt;&lt;/a&gt;</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:linklist&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:linklist</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:linklist&amp;rev=1592664204&amp;do=diff</link>
        <description>LinkList

Inherited from  NULL

Inherited by  NULL

Friend class  ListIterator

Description

LinkList类实现单向链表数据结构，只能顺序访问，不能随机访问。

Members

	*  LinkNode *  m_pBeginNode
	*  LinkNode *	m_pEndNode
	*  ulong	m_ulCount
	*  MemPool *	m_pListPool
	* &lt;a name=&quot;m_pbeginnode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pendnode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ulcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_plistpool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_bselfpool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;linklist1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;insert&quot;&gt;&lt;/a&gt;&lt;a name=&quot;pushback&quot;&gt;&lt;/a&gt;&lt;a name=&quot;pushfront&quot;&gt;&lt;/a&gt;&lt;a name=&quot;remove&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getcount…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:listener&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:listener</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:listener&amp;rev=1592664204&amp;do=diff</link>
        <description>Listener

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Public interface

	*  virtual void onApplicationEvent(EventType et,void * param = 0) = 0

----------
&lt;a name=&quot;onapplicationevent&quot;&gt;&lt;/a&gt;
virtual void onApplicationEvent(EventType et,void * param = 0) = 0</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:listiterator&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:listiterator</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:listiterator&amp;rev=1592664204&amp;do=diff</link>
        <description>ListIterator

Inherited from  Iterator,

Inherited by  NULL

Friend class  NULL

Description

Members

	*  LinkNode * m_pCurNode
	*  LinkList * m_pParList

Public interface

	*  ListIterator(LinkList * pList = NULL)
	*  void	setContainer(void * pContainer)
	*  void	reset()
	*  void *	next()
	*  void	jump(void * pData)&lt;a name=&quot;m_pcurnode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pparlist&quot;&gt;&lt;/a&gt;&lt;a name=&quot;listiterator1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setcontainer&quot;&gt;&lt;/a&gt;&lt;a name=&quot;reset&quot;&gt;&lt;/a&gt;&lt;a name=&quot;next&quot;&gt;&lt;/a&gt;&lt;a name=&quot;jump&quot;&gt;&lt;/a&gt;</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:observer&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:observer</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:observer&amp;rev=1592664204&amp;do=diff</link>
        <description>Observer

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Members

	*  std::vector&lt;Listener*&gt; * m_pListenerList

Public interface

	*  static Observer * getInstance()
	*  void addListener(Listener * pListener)
	*  void removeListener(Listener * pListener)
	*  void publishEvent(EventType et,void * param = 0)&lt;a name=&quot;m_plistenerlist&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getinstance&quot;&gt;&lt;/a&gt;&lt;a name=&quot;addlistener&quot;&gt;&lt;/a&gt;&lt;a name=&quot;removelistener&quot;&gt;&lt;/a&gt;&lt;a name=&quot;publishevent&quot;&gt;&lt;/a&gt;&lt;a name=&quot;observer1&quot;&gt;&lt;/a&gt;</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:octree&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:octree</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:octree&amp;rev=1592664204&amp;do=diff</link>
        <description>Octree

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Octree将空间按照八叉树的结构进行递归的细分，使用Morton码对位置坐标进行编码，从而可以快速的定位和对邻域空间的遍历与搜索(被Octree管理的数据元素必须提供计算坐标的回调函数)。Octree拥有一个唯一的根节点（深度为0），在空间里该节点可以均分为8个子空间（深度为1），即X、Y、Z均分成两部分，每个方向可以用0和1分别标识两个部分，因而可以用000到111的二进制数分别对子空间编码，这个编码即对应的Morton码，而每个子空间又可以均分为8个子空间，每个子空间在上一级的Morton码基础上再增加三位二进制数形成对应的Morton码，这样递归下去（深度逐级增加）可以按最大深度对每个子空间进行编码。Octree只对添加进来的数据创建相应的子空间（即叶节点），所以Octree比较节省内存。&lt;a name=&quot;m_pleafpool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_phashpool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_p…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:opncontext&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:opncontext</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:opncontext&amp;rev=1683327675&amp;do=diff</link>
        <description>OpnContext

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Members

	*  int _opn
	*  int _domain
	*  int _type
	*  int _id
	*  int _sizeOrType
	*  int _sid

Private interface

	*  int &amp; itemSize()
	*  int &amp; linkType()
	*  int &amp; prevID()
	*  int &amp; linkID()
	*  int &amp; renumberID()
	*  int &amp; nextID()
	* &lt;a name=&quot;_opn&quot;&gt;&lt;/a&gt;&lt;a name=&quot;_domain&quot;&gt;&lt;/a&gt;&lt;a name=&quot;_type&quot;&gt;&lt;/a&gt;&lt;a name=&quot;_id&quot;&gt;&lt;/a&gt;&lt;a name=&quot;_sizeortype&quot;&gt;&lt;/a&gt;&lt;a name=&quot;_sid&quot;&gt;&lt;/a&gt;&lt;a name=&quot;itemsize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;linktype&quot;&gt;&lt;/a&gt;&lt;…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:opnrecorder&amp;rev=1683342608&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T11:10:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:opnrecorder</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:opnrecorder&amp;rev=1683342608&amp;do=diff</link>
        <description>OpnRecorder

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

OpnRecorder用于运行时序列化所有数据操作的工具类，执行功能时，OpnRecorder通过XManager提供的接口，所有数据在执行功能之前的状态和执行之后的状态按照顺序被保存到二进制文件中，这些记录可以通过恢复到功能之前的数据状态完成功能的撤销（undo），在撤销之后，也可以回到功能执行之后的状态完成功能的重做（redo）。当一系列功能都按照这样的规则将所有数据对象的状态都序列化到二进制文件中，每个功能对应其中一段记录，重复前述操作就可以达到无限的undo、redo。&lt;a name=&quot;m_imode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_benable&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_curopnpos&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_strpath&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_precordio&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_itempool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_icommitdepth&quot;…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:tcomplexhash&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:tcomplexhash</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:tcomplexhash&amp;rev=1592664204&amp;do=diff</link>
        <description>TComplexHash

Inherited from  NULL

Inherited by  NULL

Friend class  HashIterator,HashCleaner,

Description

TComplexHash与THash类似，用于管理索引比较复杂的数据，这些数据的数字标识并不唯一，但是和辅助标识一起组成唯一的数据单元。TComplexHash管理的数据除了必须提供数字标识的接口外，还需要提供判断数据相等的接口。对TComplexHash的数据遍历须用ComplexHashIterator。TComplexHash的数据储存方式与THash一样，数据在BIT的位置仍然由数字标识确定。&lt;a name=&quot;m_phashlinktable&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ulcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ulmodnumber&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_phashpool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_bselfpool&quot;&gt;&lt;/a&gt;&lt;a name=&quot;tcomplexhash1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;insert&quot;&gt;&lt;/a&gt;&lt;a n…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xarray&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xarray</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xarray&amp;rev=1683327675&amp;do=diff</link>
        <description>template &lt;typename T&gt; XArray

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

XArray是一个封装了数组功能的模板类，主要用于数据对象里需要保存变长数据的场合，对数据对象的任何修改即意味着变长数组的重建（当数组长度变化时）。与标准库里面的vector不一样，它不太适用于可以随时添加元素的场景，但是另一方面它也有效降低了该类的复杂度，开发者要根据实际情况觉得是否使用XArray类。&lt;a name=&quot;m_size&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pvec&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xarray1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;end&quot;&gt;&lt;/a&gt;&lt;a name=&quot;copy&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xarray2&quot;&gt;&lt;/a&gt;&lt;a name=&quot;~xarray&quot;&gt;&lt;/a&gt;&lt;a name=&quot;release&quot;&gt;&lt;/a&gt;&lt;a name=&quot;alloc&quot;&gt;&lt;/a&gt;&lt;a name=&quot;remove&quot;&gt;&lt;/a&gt;&lt;a name=&quot;size&quot;&gt;&lt;/a&gt;&lt;a name=&quot;front&quot;…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xbufferio&amp;rev=1691109650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-04T08:40:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xbufferio</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xbufferio&amp;rev=1691109650&amp;do=diff</link>
        <description>﻿

XBufferIO

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

XBufferIO是为文件IO构建的工具类，它从内存中开辟一块内存专门用于缓冲写入文件或从文件中读取的内容，在缓冲区满的时候一次性写出或读入新的文件内容，以提高文件IO的速度，从而有效避免频繁的硬盘IO操作所导致的性能瓶颈。&lt;a name=&quot;m_strpath&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_version&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pfp&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_lisize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_iopenmode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pbuf&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ibufsize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ibufmode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ckeyprefix&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_iencode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;g_curbufpos&quot;&gt;&lt;/a&gt;&lt;a name=&quot;g_ibuffreesize&quot;&gt;&lt;/a&gt;&lt;a na…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xformatio&amp;rev=1691109650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-04T08:40:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xformatio</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xformatio&amp;rev=1691109650&amp;do=diff</link>
        <description>﻿

XFormatIO

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Members

	*  Path m_strPath
	*  void* m_pFp
	*  int64 m_liSize
	*  char * m_pBuf
	*  int m_iBufSize
	*  char m_cKeyPrefix
	*  bool m_bContinue

Public interface

	*  XFormatIO(const char * path = 0)
	*  ~XFormatIO()
	*  bool open(IOFlag f)
	* &lt;a name=&quot;m_strpath&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pfp&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_lisize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pbuf&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ibufsize&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ckeyprefix&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_bcontinue&quot;&gt;&lt;/a&gt;&lt;a…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xh5io&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xh5io</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xh5io&amp;rev=1683327675&amp;do=diff</link>
        <description>XH5IO

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

XH5IO是一个封装了HDF5库函数的工具类，用来将数据转存为HDF5格式或者从HDF5格式中读取数据。HDF5(Hierarchical Data Format) 格式是一种常见的跨平台数据储存文件，可以存储不同类型的图像和数码数据，并且可以在不同类型的机器上传输，它按照Group树组织数据，每个Group节点可以包含若干属性和若干数据集（Dataset），Group树按照目录树的形式管理，因此可以很高效的随机访问数据。&lt;a name=&quot;m_pfile&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ptempdtypes&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_strpath&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_imode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_version&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xh5io1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;~xh5io&quot;&gt;&lt;/a&gt;&lt;a name=&quot;open&quot;&gt;&lt;/a&gt;&lt;a name=&quot;clear&quot;&gt;&lt;/a&gt;&lt;a n…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xhash&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xhash</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xhash&amp;rev=1683327675&amp;do=diff</link>
        <description>XHash

Inherited from  NULL

Inherited by  NULL

Friend class  HashIterator,HashCleaner,

Description

哈希（Hash）也称散列，哈希表是一种与数组、链表等不同的数据结构，与他们需要不断的遍历比较来查找的办法，哈希表设计了一个映射关系f(key)= address，根据key来计算存储地址address，这样可以1次查找，f既是存储数据过程中用来指引数据存储到什么位置的函数，也是将来查找这个位置的算法，叫做哈希算法。
XHash 是XT针对工程计算中大量用到的拥有整数ID的数据对象深入优化之后开发出的哈希工具类，它创造性的丢弃了传统的链表结构而用数组结构来储存拥有同一个哈希值的对象，而该数组也随着对象的多少可动态调整，与XT的内存池MemPool类使用，一方面可以避免内存的水平化，另一方面也极大的提高了数据添加、修改、查找与删除的性能。&lt;a name=&quot;m_phashlinktable&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ulcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ulmodnumbe…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xitemarray&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xitemarray</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xitemarray&amp;rev=1683327675&amp;do=diff</link>
        <description>template &lt;typename T, int N&gt; XItemArray

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

XItemArray封装了按固定大小N增长的数组，它一般用于在数组长度不是很大的场合，便于直接从内存池中分配，可以避免程序运行中频繁分配释放数组时产生的内存碎片，同时保证数据访问性能。它的容量为N的整数倍，增加数组对象时直接在数组的内存空间中赋值，当对象的个数超过容量时，将数组的容量增长N重新从内存池中申请空间并将旧的空间的值全部拷贝到新的内存空间中，然后将旧的空间放回到内存池中；删除对象时将该对象后面的数据向前挪动一个对象的长度，如果剩余容量小于N，将数组的容量较少N重新从内存池中申请空间并将旧的空间的值全部拷贝到新的内存空间中，然后将旧的空间放回到内存池中。&lt;a name=&quot;pitemarray&quot;&gt;&lt;/a&gt;&lt;a name=&quot;iitemcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;increasecount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;decreasecount…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xitemptrarray&amp;rev=1683327675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T07:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xitemptrarray</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xitemptrarray&amp;rev=1683327675&amp;do=diff</link>
        <description>template &lt;typename T, int N&gt; XItemPtrArray

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

XItemPtrArray封装了按固定大小N增长的对象指针数组，它一般用于在数组长度不是很大的场合，便于直接从内存池中分配，可以避免程序运行中频繁分配释放数组时产生的内存碎片，同时保证数据访问性能。它的容量为N的整数倍，增加数组对象指针时直接在数组的内存空间中赋值，当对象的个数超过容量时，将数组的容量增长N重新从内存池中申请空间并将旧的空间的值全部拷贝到新的内存空间中，然后将旧的空间放回到内存池中；删除对象指针时将该对象后面的数据向前挪动一个对象的长度，如果剩余容量小于N，将数组的容量较少N重新从内存池中申请空间并将旧的空间的值全部拷贝到新的内存空间中，然后将旧的空间放回到内存池中。&lt;a name=&quot;iitemcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;pitemptrarray&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xitemptrarray1&quot;&gt;&lt;/a&gt;&lt;a n…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xlogger&amp;rev=1660003381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-09T08:03:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xlogger</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xlogger&amp;rev=1660003381&amp;do=diff</link>
        <description>Logger

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

Logger为XT提供四个级别的日志记录功能，包括错误（error）、警告（warning）、提示（info）、调试（debug）,通过设置Logger的文件名可将日志信息重定向输出添加到指定文件的尾部。日志记录的输出范围按照不同级别逐步扩大，比如警告将输出包含错误在内的记录，而调试则输出前述所有记录。Logger的日志记录按行输出，每个记录包含有时间信息，层次信息，标题和日志内容几块。Logger在XT中仅存有一个实例，输出日志记录时只需如下调用即可：&lt;a name=&quot;m_strfilename&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ilevel&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pfile&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getinstance&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setfilename&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setlevel&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getfilename&quot;&gt;&lt;/a&gt;&lt;a name=&quot;write…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmempool&amp;rev=1683345203&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T11:53:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xmempool</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmempool&amp;rev=1683345203&amp;do=diff</link>
        <description>XMemPool

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

常用的malloc/free 和 new/delete 在堆上申请和释放内存都有一定的额外开销。开销来自维护 内存空闲块表。
malloc和new 申请堆内存时，首先查找内部维护的内存空闲块表，并且需要根据一定的算法（例如分配最先找到的不小于申请大小的内存块给请求者，或者分配最适于申请大小的内存块，或者分配最大空闲的内存块等）找到合适大小的空闲内存块。如果该空闲内存块过大，还需要切割成已分配的部分和较小的空闲块。然后系统更新内存空闲块表，完成一次内存分配。
类似地，在free和delete释放内存时，系统把释放的内存块重新加入到空闲内存块表中。如果有可能的话，可以把相邻的空闲块合并成较大的空闲块。默认的内存管理函数还考虑到多线程的应用，需要在每次分配和释放内存时加锁，同样增加了开销。
可见，如果应用程序频繁地在堆上分配和释放内存，则会导致性能的损失。并且会使系统中出现大量的内存碎片，降低内存的利用率。连续的new/de…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmlreader&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xmlreader</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmlreader&amp;rev=1592664204&amp;do=diff</link>
        <description>XmlReader

Inherited from  NULL

Inherited by  NULL

Friend class  XmlWriter

Description

XML是用于标记电子文件使其具有结构性的标记语言，可以用来标记数据、定义数据类型，是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集，非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。 &lt;a name=&quot;m_strxmlfile&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pxmlparser&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_bcloned&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xmlreader1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;clone&quot;&gt;&lt;/a&gt;&lt;a name=&quot;parse&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setfile&quot;&gt;&lt;/a&gt;&lt;a name=&quot;gettext&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getintvalue&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getdoublevalue&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getstringattribute&quot;&gt;…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmlwriter&amp;rev=1592664204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T22:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xmlwriter</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xmlwriter&amp;rev=1592664204&amp;do=diff</link>
        <description>XmlWriter

Inherited from  NULL

Inherited by  NULL

Friend class  XmlReader

Description

XML是用于标记电子文件使其具有结构性的标记语言，可以用来标记数据、定义数据类型，是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集，非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。 &lt;a name=&quot;m_strxmlfile&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_pxml&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_bcloned&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xmlwriter1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;clone&quot;&gt;&lt;/a&gt;&lt;a name=&quot;save&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setfile&quot;&gt;&lt;/a&gt;&lt;a name=&quot;getfilename&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setroot&quot;&gt;&lt;/a&gt;&lt;a name=&quot;addelement&quot;&gt;&lt;/a&gt;&lt;a name=&quot;addelement&quot;&gt;&lt;/a&gt;&lt;a name=&quot;addele…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xrenderdata&amp;rev=1691155204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-04T21:20:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xrenderdata</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xrenderdata&amp;rev=1691155204&amp;do=diff</link>
        <description>﻿

XRenderData

Inherited from  NULL

Inherited by  NULL

Friend class  NULL

Description

XRenderData封装了用于OpenGL三维显示的渲染数据结构体，它将一次典型的OpenGL渲染中所使用的各种顶点数据都组装在该结构体中，包括顶点数组、法线数组、边标志位数组、纹理数组、顶点编码数组、顶点序号数组、值数组、变形向量数组等，开发者根据需要将所需数据分别存入到对应数组中，供XRender的渲染接口调用完成绘制。&lt;a name=&quot;ulcid&quot;&gt;&lt;/a&gt;&lt;a name=&quot;imode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;imethod&quot;&gt;&lt;/a&gt;&lt;a name=&quot;ivertexcount&quot;&gt;&lt;/a&gt;&lt;a name=&quot;vertexarr&quot;&gt;&lt;/a&gt;&lt;a name=&quot;normalarr&quot;&gt;&lt;/a&gt;&lt;a name=&quot;texarr&quot;&gt;&lt;/a&gt;&lt;a name=&quot;colorarr&quot;&gt;&lt;/a&gt;&lt;a name=&quot;elcolorarr&quot;&gt;&lt;/a&gt;&lt;a name=&quot;indexarr&quot;&gt;&lt;/a&gt;&lt;a name=&quot;valuear…</description>
    </item>
    <item rdf:about="https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xtextio&amp;rev=1691109650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-04T08:40:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>class:kernel:xtextio</title>
        <link>https://xt-solution.cn/xdoc/doku.php?id=class:kernel:xtextio&amp;rev=1691109650&amp;do=diff</link>
        <description>﻿

XTextIO

Inherited from  XBufferIO,

Inherited by  NULL

Friend class  NULL

Description

XTextIO从XBufferIO继承，是用于完成文本文件IO的工具类。它利用XBufferIO提供的缓冲区机制是开发者可以在内存中操作文件文件内容（解析数据或按给定格式写出），它既可以使用固定格式（数据大小固定），也可以使用自由格式（数据通过间隔符间隔）。使用它可以显著提高文本文件的处理速度和开发效率。&lt;a name=&quot;m_itxtmode&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ifixintwidth&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_ifixdblwidth&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_idblprecision&quot;&gt;&lt;/a&gt;&lt;a name=&quot;m_cfreeseparator&quot;&gt;&lt;/a&gt;&lt;a name=&quot;xtextio1&quot;&gt;&lt;/a&gt;&lt;a name=&quot;settextformat&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setfreeseparator&quot;&gt;&lt;/a&gt;&lt;a name=&quot;setfixwidth&quot;&gt;&lt;/a&gt;&lt;a…</description>
    </item>
</rdf:RDF>
