実行時型情報クラス 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] オブジェクト |