OROCHI
 
Loading...
Searching...
No Matches
GxFunction Class Reference

関数型情報 More...

#include <GxFunction.h>

Inheritance diagram for GxFunction:
Collaboration diagram for GxFunction:

Classes

struct  GxArgument
 引数情報の構造体 More...
 
class  GxType
 型情報 More...
 
struct  GxValue
 値の共用体 More...
 

Public Member Functions

操作
GX_FORCE_INLINE void invoke (GxFunction::GxValue *pReturn, GxTypedObject *pObject, GxFunction::GxValue *pArgument) const
 関数を実行
 
- 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)
 デフォルトオブジェクト判定
 

定義

enum class  TYPE {
  _VOID , OBJECT , B32 , U32 ,
  U64 , S32 , S64 , F32 ,
  F64 , STRING , MAX
}
 型定義 More...
 
typedef void(*) FUNCTION(GxValue *pReturnValue, GxTypedObject *pObject, GxValue *pArguments)
 クラスメンバ関数コールバック型
 
static const u32 ARGUMENT_MAX = 4
 引数の最大数
 

初期化

 GxFunction (GxRtti *pRtti, u32 id, FUNCTION pFunction, GX_CSTR name, GxType returnType=GxType(), GxValue defaultValue=GxValue())
 コンストラクタ
 
template<typename... Arguments>
 GxFunction (GxRtti *pRtti, u32 id, FUNCTION pFunction, GX_CSTR name, GxType returnType, GxValue defaultValue, Arguments... va_args)
 コンストラクタ
 

アクセサ

constexpr u32 getId (void) const
 IDを取得
 
constexpr GxRttigetMemberRtti (void) const
 RTTIを取得
 
GX_FORCE_INLINE const GxArgumentgetArgument (u32 index) const
 引数情報を取得
 
u32 getArgumentCount (void) const
 引数の数を取得
 
constexpr GX_CSTR getName (void) const
 関数名を取得
 
constexpr void setName (GX_CSTR name)
 関数名を設定
 
GX_FORCE_INLINE GxType getReturnType (void) const
 戻り値の型を取得
 
GX_FORCE_INLINE GxValue getDefaultValue (void) const
 デフォルト戻り値を取得
 
GX_FORCE_INLINE void setDefaultValue (GxValue value)
 デフォルト戻り値を設定
 
static TYPE getFunctionType (GxProperty::TYPE type)
 型変換(GxProperty::TYPE→GxFunction::TYPE)
 
static GxProperty::TYPE getPropertyType (TYPE type)
 型変換(GxFunction::TYPE→GxProperty::TYPE)
 
static b32 isCastable (GxType type1, GxType type2)
 キャスト可能か判定
 

Additional Inherited Members

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

Detailed Description

関数型情報

Member Enumeration Documentation

◆ TYPE

enum class GxFunction::TYPE
strong

型定義

Enumerator
_VOID 

無し

OBJECT 

オブジェクト

B32 

真偽値

U32 

32bit符号無し整数

U64 

64bit符号無し整数

S32 

32bit符号付き整数

S64 

64bit符号付き整数

F32 

32bit浮動小数

F64 

64bit浮動小数

STRING 

文字列

MAX 

定義数

Member Function Documentation

◆ getArgumentCount()

u32 GxFunction::getArgumentCount ( void ) const

引数の数を取得

Returns
引数の数
Here is the caller graph for this function:

◆ getFunctionType()

GxFunction::TYPE GxFunction::getFunctionType ( GxProperty::TYPE type)
static

型変換(GxProperty::TYPE→GxFunction::TYPE)

Parameters
type[in] プロパティの型
Returns
関数の型
Here is the caller graph for this function:

◆ getPropertyType()

GxProperty::TYPE GxFunction::getPropertyType ( TYPE type)
static

型変換(GxFunction::TYPE→GxProperty::TYPE)

Parameters
type[in] 関数の型
Returns
プロパティの型
Here is the caller graph for this function:

◆ invoke()

void GxFunction::invoke ( GxFunction::GxValue * pReturn,
GxTypedObject * pObject,
GxFunction::GxValue * pArgument ) const
inline

関数を実行

Parameters
command[in] コマンド文字列
category[in] ログのカテゴリー

◆ isCastable()

b32 GxFunction::isCastable ( GxType type1,
GxType type2 )
static

キャスト可能か判定

Parameters
type1[in] 型1
type2[in] 型2
Returns
可能ならtrue
Here is the call graph for this function:

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