BeckyPlugin library  2.4
class library for Becky! plugin
公開型 | 公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
CLink::SCrossLink< T > クラステンプレート

4方向リンク定義構造 [詳解]

#include <CrossLink.h>

公開型

typedef bool(* FSCrossLinkTracer) (void *_User, SCrossLink< T > *_Object)
 列挙用関数
 

公開メンバ関数

 SCrossLink (T &_Item, SCrossLink< T > *_Parent=NULL)
 
 ‾SCrossLink ()
 デストラクタ
 
const T & operator* ()
 
SCrossLink< T > * GetParent ()
 
SCrossLink< T > * GetChild ()
 
SCrossLink< T > * GetPrev ()
 
SCrossLink< T > * GetNext ()
 
SCrossLink< T > * Add (T &_Item)
 
void Delete ()
 ノードの削除
 
SCrossLink< T > * Chain (T &_Item)
 
SCrossLink< T > * Include (T &_Item)
 
SCrossLink< T > * Connect (T &_Item)
 
SCrossLink< T > * Insert (T &_Item)
 
bool TraceChain (bool _Nesting, void *_User, FSCrossLinkTracer _EachTrace)
 
bool BackTraceChain (void *_User, FSCrossLinkTracer _EachTrace)
 
bool TraceConnect (bool _Nesting, void *_User, FSCrossLinkTracer _EachTrace)
 
bool BackTraceConnect (void *_User, FSCrossLinkTracer _EachTrace)
 

限定公開変数類

SCrossLink< T > * Parent
 親ノード
 
SCrossLink< T > * Child
 子ノード
 
SCrossLink< T > * Prev
 兄ノード
 
SCrossLink< T > * Next
 弟ノード
 
Data
 ユーザデータ
 

詳解

template<class T>
class CLink::SCrossLink< T >

4方向リンク定義構造

構築子と解体子

◆ SCrossLink()

template<class T>
CLink::SCrossLink< T >::SCrossLink ( T &  _Item,
SCrossLink< T > *  _Parent = NULL 
)
inline

コンストラクタ

引数
_Itemデータ
_Parent親ノード

関数詳解

◆ Add()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::Add ( T &  _Item)
inline

ノードの追加(追加データは、子供あるいはその兄弟としてリンクします)

引数
_Itemデータ
戻り値
リンクノード

◆ BackTraceChain()

template<class T>
bool CLink::SCrossLink< T >::BackTraceChain ( void *  _User,
FSCrossLinkTracer  _EachTrace 
)
inline

親子の逆順列挙

引数
_User拡張パラメータ
_EachTraceコールバック関数
戻り値
成功すれば true

◆ BackTraceConnect()

template<class T>
bool CLink::SCrossLink< T >::BackTraceConnect ( void *  _User,
FSCrossLinkTracer  _EachTrace 
)
inline

兄弟の逆順列挙

引数
_User拡張パラメータ
_EachTraceコールバック関数
戻り値
成功すれば true

◆ Chain()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::Chain ( T &  _Item)
inline

子供の追加

引数
_Itemデータ
戻り値
リンクノード

◆ Connect()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::Connect ( T &  _Item)
inline

兄弟の追加

引数
_Itemデータ
戻り値
リンクノード

◆ GetChild()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::GetChild ( )
inline

子ノード取得

戻り値
子ノード

◆ GetNext()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::GetNext ( )
inline

弟ノード取得

戻り値
弟ノード

◆ GetParent()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::GetParent ( )
inline

親ノード取得

戻り値
親ノード

◆ GetPrev()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::GetPrev ( )
inline

兄ノード取得

戻り値
兄ノード

◆ Include()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::Include ( T &  _Item)
inline

子供の挿入

引数
_Itemデータ
戻り値
リンクノード

◆ Insert()

template<class T>
SCrossLink<T>* CLink::SCrossLink< T >::Insert ( T &  _Item)
inline

兄弟の挿入

引数
_Itemデータ
戻り値
リンクノード

◆ operator*()

template<class T>
const T& CLink::SCrossLink< T >::operator* ( )
inline

データ取得

戻り値
データ

◆ TraceChain()

template<class T>
bool CLink::SCrossLink< T >::TraceChain ( bool  _Nesting,
void *  _User,
FSCrossLinkTracer  _EachTrace 
)
inline

親子の列挙

引数
_Nestingネスト
_User拡張パラメータ
_EachTraceコールバック関数
戻り値
成功すれば true

◆ TraceConnect()

template<class T>
bool CLink::SCrossLink< T >::TraceConnect ( bool  _Nesting,
void *  _User,
FSCrossLinkTracer  _EachTrace 
)
inline

兄弟の列挙

引数
_Nestingネスト
_User拡張パラメータ
_EachTraceコールバック関数
戻り値
成功すれば true

このクラス詳解は次のファイルから抽出されました: