実行時型情報クラス More...
#include <GxRtti.h>


メンバ変数 | |
| static volatile GxRtti * | _pUsageCall = nullptr |
| 最適化回避呼び出し | |
| static GX_CHAR | _usageDummy [8] |
| 最適化回避用バッファ | |
初期化 | |
| GxRtti (void) | |
| デフォルトコンストラクタ | |
| GxRtti (TYPE type, u32 size, u32 id, u32 attribute, GxRtti *pBaseRtti, CREATE_INSTANCE_FUNCTION pCreateInstanceFunction, GET_PROPERTIES_FUNCTION pGetPropertiesFunction, GET_PROPERTY_NUM_FUNCTION pGetPropertyNumFunction, GET_FUNCTIONS_FUNCTION pGetFunctionsFunction, GET_FUNCTION_NUM_FUNCTION pGetFunctionNumFunction) | |
| コンストラクタ | |
| GX_FORCE_INLINE b32 | operator== (const GxRtti &rtti) const |
| 一致演算子 | |
| GX_FORCE_INLINE b32 | operator!= (const GxRtti &rtti) const |
| 不一致演算子 | |
操作 | |
| u32 | createPropertyTable (GxPropertyTable &propertyTable, b32 searchParentFlag=true) const |
| プロパティ配列を作成 | |
| u32 | createDifferencePropertyTable (GxPropertyTable &propertyTable, GxTypedObject *pTargetObject, b32 searchParentFlag=true, const GxTypedObject *pDefaultObject=nullptr) |
| 差分のプロパティ配列を作成 | |
| const GxRtti * | enumerate (const GxRtti *pRootRtti) const |
| 指定以下のRTTIを列挙 | |
| GX_FORCE_INLINE void * | createInstance (void) const |
| インスタンスを生成 | |
| void | trace (GxTypedObject *pObject) |
| デバッグ出力 | |
| static void | copyObject (GxTypedObject *pObjectDst, const GxTypedObject *pObjectSrc, const GxRtti &rtti) |
| 指定オブジェクトをコピー | |
| static void | forceUsage (GxRtti &rtti) |
| 最適化回避呼び出し | |
アクセサ | |
| GX_FORCE_INLINE b32 | isDerived (const GxRtti &rtti) const |
| 継承されている型か判定 | |
| b32 | isDerived (u32 id) const |
| 継承されている型か判定 | |
| constexpr u32 | getId (void) const |
| IDを取得 | |
| GX_FORCE_INLINE b32 | isId (u32 id) const |
| IDを判定 | |
| constexpr u32 | getAttribute (void) const |
| 属性を取得 | |
| GX_FORCE_INLINE b32 | isAttribute (ATTRIBUTE attribute) const |
| 属性を判定 | |
| constexpr GxRtti::TYPE | getType (void) const |
| 種類を取得 | |
| constexpr GxRtti * | getParent (void) const |
| 親を取得 | |
| constexpr GxRtti * | getChild (void) const |
| 子を取得 | |
| constexpr GxRtti * | getNext (void) const |
| 次の兄弟を取得 | |
| u32 | getPropertyCount (void) const |
| プロパティ数を取得 | |
| GxProperty * | getProperty (u32 id, b32 searchParentFlag=false) const |
| プロパティを取得 | |
| void | getReferenceRttiList (GxArray &list, b32 searchParentFlag=false) const |
| 参照リソースRTTIリストを取得 | |
| void | getReferencePropertyList (GxArray &list, b32 searchParentFlag=false) const |
| 参照リソースプロパティリストを取得 | |
| u32 | getFunctionCount (void) const |
| 関数型の数を取得 | |
| GxFunction * | getFunction (u32 index) const |
| 関数型を取得 | |
| const GxTypedObject * | getDefaultObject (GxTypedObject *pCustomObject=nullptr) |
| デフォルトオブジェクトを取得 | |
| constexpr GxTypedObject * | getSingletonInstance (void) const |
| シングルトンインスタンスを取得 | |
| constexpr void | setSingletonInstance (GxTypedObject *pSingletonInstance) |
| シングルトンインスタンスを設定 | |
| void | deleteDefaultObjectSub (void) |
| デフォルトオブジェクトを削除するサブ関数 | |
| static const GxRtti * | getRtti (u32 id, const GxRtti &root=getRttiRoot()) |
| RTTIを取得 | |
| static void | getRttiList (GxArray &list, const GxRtti &root=getRttiRoot(), ATTRIBUTE attributeOn=ATTRIBUTE_ALL, ATTRIBUTE attributeOff=ATTRIBUTE_NONE) |
| RTTIリストを取得 | |
| static GxRtti * | getNextRtti (const GxRtti &rttiRoot, const GxRtti &rttiTarget) |
| 次のRTTIを取得 | |
| static GxRtti & | getRttiRoot (void) |
| RTTIルートを取得 | |
| static void | deleteDefaultObjectAll (void) |
| 全てのデフォルトオブジェクトを削除 | |
実行時型情報クラス
| enum GxRtti::ATTRIBUTE |
属性
| Enumerator | |
|---|---|
| ATTRIBUTE_NONE | 全フラグOFF |
| ATTRIBUTE_CREATABLE | createInstance()を実行できる |
| ATTRIBUTE_HIDE | GUIを表示しない |
| ATTRIBUTE_STRUCT | 構造体 |
| ATTRIBUTE_ALL | 全フラグON |
|
strong |
アイコンタイプ定義
|
strong |
|
strong |
|
static |
指定オブジェクトをコピー
| pObjectDst | [in] コピー先オブジェクト |
| pObjectSrc | [in] コピー元オブジェクト |
| rtti | [in] RTTI |


| u32 GxRtti::createDifferencePropertyTable | ( | GxPropertyTable & | propertyTable, |
| GxTypedObject * | pTargetObject, | ||
| b32 | searchParentFlag = true, | ||
| const GxTypedObject * | pDefaultObject = nullptr ) |
差分のプロパティ配列を作成
| propertyTable | [in/out] プロパティテーブル |
| pTargetObject | [in] ターゲットオブジェクト |
| searchParentFlag | [in] 親を探索するか |
| pDefaultObject | [in] デフォルトオブジェクト |

| u32 GxRtti::createPropertyTable | ( | GxPropertyTable & | propertyTable, |
| b32 | searchParentFlag = true ) const |
プロパティ配列を作成
| propertyTable | [in] プロパティテーブル |
| searchParentFlag | [in] 親を探索するか |


| void GxRtti::deleteDefaultObjectSub | ( | void | ) |
デフォルトオブジェクトを削除するサブ関数
| pTarget | [in] デフォルトオブジェクト |


指定以下のRTTIを列挙
| pRootRtti | [in] ルートのRTTI |

|
static |
最適化回避呼び出し
| rtti | [in] RTTI |

| const GxTypedObject * GxRtti::getDefaultObject | ( | GxTypedObject * | pCustomObject = nullptr | ) |
デフォルトオブジェクトを取得
| pCustomObject | [in] カスタムオブジェクト(デフォルト値を変更したい場合に使用) |


| GxFunction * GxRtti::getFunction | ( | u32 | index | ) | const |
関数型を取得
| index | [in] インデックス |
| name | [in] 名前 |
| u32 GxRtti::getFunctionCount | ( | void | ) | const |
関数型の数を取得
次のRTTIを取得
| rttiRoot | [in] ルートのRTTI |
| rttiTarget | [in] 対象RTTI |

| GxProperty * GxRtti::getProperty | ( | u32 | id, |
| b32 | searchParentFlag = false ) const |
プロパティを取得
| id | [in] ID |
| searchParentFlag | [in] 親を探索するか |
| name | [in] 名前 |
| searchParentFlag | [in] 親を探索するか |

| u32 GxRtti::getPropertyCount | ( | void | ) | const |
プロパティ数を取得
参照リソースプロパティリストを取得
| list | [out] 参照プロパティリスト |
| searchParentFlag | [in] 親を探索するならtrue |

参照リソースRTTIリストを取得
| list | [out] 参照RTTIリスト |
| searchParentFlag | [in] 親を探索するならtrue |

|
static |
RTTIを取得
| id | [in] ID |
| root | [in] ルートのRTTI |
| name | [in] 名前 |
| root | [in] ルートのRTTI |


|
static |
RTTIリストを取得
| list | [out] RTTIリスト |
| root | [in] 基底RTTI |
| attributeOn | [in] 属性ONの条件 |
| attributeOff | [in] 属性OFFの条件 |


|
static |
RTTIルートを取得

| b32 GxRtti::isDerived | ( | u32 | id | ) | const |
継承されている型か判定
| id | [in] RTTIのID |

| void GxRtti::trace | ( | GxTypedObject * | pObject | ) |
デバッグ出力
| pObject | [in] オブジェクト |