OROCHI
 
Loading...
Searching...
No Matches
GxTreeBase::GxNodeBase Class Reference

ツリーノードクラス (任意オブジェクト用) More...

#include <GxTree.h>

Inheritance diagram for GxTreeBase::GxNodeBase:
Collaboration diagram for GxTreeBase::GxNodeBase:

Public Member Functions

コンストラクタ
 GxNodeBase (void)
 ディフォルトコンストラクタ (使用禁止)
 
 GxNodeBase (GxTreeBase *pTree)
 
 ~GxNodeBase (void)
 デストラクタ
 
アクセサ
virtual GX_FORCE_INLINE void setObject (void *pObject)
 登録オブジェクト設定
 
constexpr void * getObject (void) const
 登録オブジェクト取得
 
GX_FORCE_INLINE GxTreeBase::GxNodeBasegetParent (void)
 親ノード取得
 
constexpr GxTreeBase::GxNodeBasegetChild (void) const
 子ノード取得
 
constexpr GxTreeBase::GxNodeBasegetPrevious (void) const
 同一階層前ノード取得
 
constexpr GxTreeBase::GxNodeBasegetNext (void) const
 同一階層次ノード取得
 
GxTreeBase::GxNodeBasegetPreviousTop (void)
 同一階層先頭(長兄)ノード取得
 
GxTreeBase::GxNodeBasegetNextEnd (void)
 同一階層終端(末弟)ノード取得
 
b32 isRoot (void) const
 ルートノード判定
 
b32 isChild (const GxTreeBase::GxNodeBase *pNode) const
 子ノード判定
 
b32 isBrother (const GxTreeBase::GxNodeBase *pNode) const
 同一階層ノード判定
 
操作
virtual void erase (void)
 ノード削除
 
GxTreeBase::GxNodeBasefind (const void *pObject)
 ノードの探索
 
void attachChild (GxTreeBase::GxNodeBase *pNode)
 指定ノードのChildに接続
 
void attachNext (GxTreeBase::GxNodeBase *pNode)
 指定ノードのNextに接続
 
void attachNextEnd (GxTreeBase::GxNodeBase *pNode)
 指定ノードの末弟に接続
 
void detach (void)
 ノードの接続分離
 
void detachParentPrevious (void)
 親、兄のノードの接続分離
 
void detachExceptChild (void)
 子以外のノードの接続分離
 
- Public Member Functions inherited from GxClassBase
constexpr GxClassBase (void)
 コンストラクタ
 
constexpr GxClassBase (const GxClassBase &base)
 コピーコンストラクタ
 
 ~GxClassBase (void) override
 デストラクタ
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Protected Attributes

メンバ変数
GxTreeBase_pTree
 所属ツリー
 
void * _pObject
 登録オブジェクト
 
GxTreeBase::GxNodeBase_pParent
 親ノード
 
GxTreeBase::GxNodeBase_pChild
 子ノード
 
GxTreeBase::GxNodeBase_pPrevious
 同一階層前ノード
 
GxTreeBase::GxNodeBase_pNext
 同一階層次ノード
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 

Detailed Description

ツリーノードクラス (任意オブジェクト用)

Constructor & Destructor Documentation

◆ GxNodeBase()

GxTreeBase::GxNodeBase::GxNodeBase ( GxTreeBase * pTree)
inline

コンストラクタ

Parameters
pTree[in] 所属ツリーポインタ

Member Function Documentation

◆ attachChild()

void GxTreeBase::GxNodeBase::attachChild ( GxTreeBase::GxNodeBase * pNode)

指定ノードのChildに接続

Parameters
pNode[in] 接続先ノード

◆ attachNext()

void GxTreeBase::GxNodeBase::attachNext ( GxTreeBase::GxNodeBase * pNode)

指定ノードのNextに接続

Parameters
pNode[in] 接続先ノード

◆ attachNextEnd()

void GxTreeBase::GxNodeBase::attachNextEnd ( GxTreeBase::GxNodeBase * pNode)

指定ノードの末弟に接続

Parameters
pNode[in] 指定ノード
Here is the call graph for this function:

◆ detach()

void GxTreeBase::GxNodeBase::detach ( void )

ノードの接続分離

Note
自分の子ノード以下は、自分の階層の末弟に繰り上がる

◆ erase()

void GxTreeBase::GxNodeBase::erase ( void )
virtual

ノード削除

Reimplemented in GxTree::GxNode.

Here is the caller graph for this function:

◆ find()

GxTreeBase::GxNodeBase * GxTreeBase::GxNodeBase::find ( const void * pObject)

ノードの探索

Parameters
pObject[in] 探索するオブジェクト
Returns
対象オブジェクトが登録されたノードポインタ (nullptrの場合、未発見)
Note
再帰呼び出しされます
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNextEnd()

GxTreeBase::GxNodeBase * GxTreeBase::GxNodeBase::getNextEnd ( void )

同一階層終端(末弟)ノード取得

Returns
同一階層終端ノードポインタ (自分を含む)
Here is the caller graph for this function:

◆ getPreviousTop()

GxTreeBase::GxNodeBase * GxTreeBase::GxNodeBase::getPreviousTop ( void )

同一階層先頭(長兄)ノード取得

Returns
同一階層先頭ノードポインタ (自分を含む)
Here is the caller graph for this function:

◆ isBrother()

b32 GxTreeBase::GxNodeBase::isBrother ( const GxTreeBase::GxNodeBase * pNode) const

同一階層ノード判定

Parameters
pNode[in] 判定対象ノード
Returns
対象ノードは同一階層(兄弟)ノードならtrue

◆ isChild()

b32 GxTreeBase::GxNodeBase::isChild ( const GxTreeBase::GxNodeBase * pNode) const

子ノード判定

Parameters
pNode[in] 判定対象ノード
Returns
対象ノードが自分の子ノードならtrue

◆ isRoot()

b32 GxTreeBase::GxNodeBase::isRoot ( void ) const

ルートノード判定

Returns
ルートノードならtrue

◆ setObject()

virtual GX_FORCE_INLINE void GxTreeBase::GxNodeBase::setObject ( void * pObject)
inlinevirtual

登録オブジェクト設定

Reimplemented in GxTree::GxNode.


The documentation for this class was generated from the following files: