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

関数クラス More...

#include <GxProperty.h>

Inheritance diagram for GxProperty::GxFunction:
Collaboration diagram for GxProperty::GxFunction:

Public Types

定義
enum class  TYPE { SYSTEM , UNIQUE }
 関数クラスタイプ More...
 

Public Member Functions

初期化
 GxFunction (void)
 デフォルトコンストラクタ
 
 GxFunction (size_t value, u32 count, u32 stride, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(_PARAM / _ARRAY)
 
 GxFunction (GET_VALUE_FUNCTION pGetValueFunction, SET_VALUE_FUNCTION pSetValueFunction, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(_CUSTOM)
 
 GxFunction (GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction, SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction, GET_COUNT_FUNCTION pGetCountFunction, SET_COUNT_FUNCTION pSetCountFunction, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(_DYNAMIC)
 
 GxFunction (STRUCT_GET_VALUE_FUNCTION pGetValueFunction, STRUCT_SET_VALUE_FUNCTION pSetValueFunction, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(_CUSTOM_STRUCT)
 
 GxFunction (STRUCT_GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction, STRUCT_SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction, STRUCT_GET_COUNT_FUNCTION pGetCountFunction, STRUCT_SET_COUNT_FUNCTION pSetCountFunction, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(_STRUCT_DYNAMIC)
 
 GxFunction (EVENT_FUNCTION pEventFunction, GxTypedObject *pOwner=nullptr, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(イベント)
 
 GxFunction (EVENT_ARGUMENT_FUNCTION_POINTER pEventArgumentFunctionPointer, GxTypedObject *pOwner=nullptr, void *pArgument=nullptr, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(ポインタ引数イベント)
 
 GxFunction (EVENT_ARGUMENT_FUNCTION_B32 pEventArgumentFunctionB32, GxTypedObject *pOwner=nullptr, b32 argument=false, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(B32引数イベント)
 
 GxFunction (EVENT_ARGUMENT_FUNCTION_U32 pEventArgumentFunctionU32, GxTypedObject *pOwner=nullptr, u32 argument=0, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(U32引数イベント)
 
 GxFunction (EVENT_ARGUMENT_FUNCTION_S32 pEventArgumentFunctionS32, GxTypedObject *pOwner=nullptr, s32 argument=0, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(S32引数イベント)
 
 GxFunction (EVENT_ARGUMENT_FUNCTION_F32 pEventArgumentFunctionF32, GxTypedObject *pOwner=nullptr, f32 argument=0.0f, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(F32引数イベント)
 
 GxFunction (STRUCT_EVENT_FUNCTION pEventFunction, GxTypedObject *pOwner=nullptr, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(構造体イベント)
 
 GxFunction (STRUCT_EVENT_ARGUMENT_FUNCTION_POINTER pEventArgumentFunctionPointer, GxTypedObject *pOwner=nullptr, void *pArgument=nullptr, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(ポインタ引数構造体イベント)
 
 GxFunction (STRUCT_EVENT_ARGUMENT_FUNCTION_B32 pEventArgumentFunctionB32, GxTypedObject *pOwner=nullptr, b32 argument=false, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(B32引数構造体イベント)
 
 GxFunction (STRUCT_EVENT_ARGUMENT_FUNCTION_U32 pEventArgumentFunctionU32, GxTypedObject *pOwner=nullptr, u32 argument=0, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(U32引数構造体イベント)
 
 GxFunction (STRUCT_EVENT_ARGUMENT_FUNCTION_S32 pEventArgumentFunctionS32, GxTypedObject *pOwner=nullptr, s32 argument=0, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(S32引数構造体イベント)
 
 GxFunction (STRUCT_EVENT_ARGUMENT_FUNCTION_F32 pEventArgumentFunctionF32, GxTypedObject *pOwner=nullptr, f32 argument=0.0f, TYPE functionType=TYPE::SYSTEM)
 コンストラクタ(F32引数構造体イベント)
 
 GxFunction (const GxFunction &function)
 コピーコンストラクタ
 
virtual ~GxFunction (void)
 デストラクタ
 
const GxFunctionoperator= (const GxFunction &function)
 代入演算子
 

Protected Attributes

メンバ変数
u32 _attribute
 属性
 
GxProperty::TYPE _propertyType
 プロパティタイプ
 
TYPE _functionType
 関数タイプ
 
union { 
 
   struct { 
 
      size_t   _pValue 
 データのアドレス
 
      u32   _stride 
 1要素分のサイズ
 
      u32   _count 
 配列数
 
      GX_CSTR   _vName 
 仮想名
 
   }  
 変数、配列用構造体
 
   struct { 
 
      GET_VALUE_FUNCTION   _pGetValueFunction 
 値取得関数
 
      SET_VALUE_FUNCTION   _pSetValueFunction 
 値設定関数
 
      u32   _reservedCustom [2] 
 未使用
 
   }  
 カスタム用構造体
 
   struct { 
 
      STRUCT_GET_VALUE_FUNCTION   _pGetStructValueFunction 
 値取得関数
 
      STRUCT_SET_VALUE_FUNCTION   _pSetStructValueFunction 
 値設定関数
 
      u32   _reservedCustomStruct [2] 
 未使用
 
   }  
 カスタム構造体用構造体
 
   struct { 
 
      GET_INDEX_VALUE_FUNCTION   _pGetValueIndexFunction 
 インデックス取得関数
 
      SET_INDEX_VALUE_FUNCTION   _pSetValueIndexFunction 
 インデックス設定関数
 
      GET_COUNT_FUNCTION   _pGetCountFunction 
 配列数取得関数
 
      SET_COUNT_FUNCTION   _pSetCountFunction 
 配列数設定関数
 
   }  
 可変長配列用構造体
 
   struct { 
 
      STRUCT_GET_INDEX_VALUE_FUNCTION   _pGetStructValueIndexFunction 
 インデックス取得関数
 
      STRUCT_SET_INDEX_VALUE_FUNCTION   _pSetStructValueIndexFunction 
 インデックス設定関数
 
      STRUCT_GET_COUNT_FUNCTION   _pGetStructCountFunction 
 配列数取得関数
 
      STRUCT_SET_COUNT_FUNCTION   _pSetStructCountFunction 
 配列数設定関数
 
   }  
 可変長構造体配列用構造体
 
   struct { 
 
      union { 
 
         EVENT_FUNCTION   _pEventFunction 
 イベント関数
 
         STRUCT_EVENT_FUNCTION   _pStructEventFunction 
 構造体イベント関数
 
      }  
 
      GxTypedObject *   _pEventOwner 
 イベント所持者
 
      u32   _reservedEvent [2] 
 未使用
 
   }  
 イベント用構造体
 
   struct { 
 
      union { 
 
         EVENT_ARGUMENT_FUNCTION_POINTER   _pEventArgumentFunctionPointer 
 イベントコールバック関数 More...
 
         EVENT_ARGUMENT_FUNCTION_B32   _pEventArgumentFunctionB32 
 イベント引数関数(真偽値)
 
         EVENT_ARGUMENT_FUNCTION_U32   _pEventArgumentFunctionU32 
 イベント引数関数(32bit符号無し整数)
 
         EVENT_ARGUMENT_FUNCTION_S32   _pEventArgumentFunctionS32 
 イベント引数関数(32bit符号付き整数)
 
         EVENT_ARGUMENT_FUNCTION_F32   _pEventArgumentFunctionF32 
 イベント引数関数(32bit浮動小数)
 
         STRUCT_EVENT_ARGUMENT_FUNCTION_POINTER   _pStructEventArgumentFunctionPointer 
 構造体イベント引数関数ポインタ
 
         STRUCT_EVENT_ARGUMENT_FUNCTION_B32   _pStructEventArgumentFunctionB32 
 構造体イベント引数関数(真偽値)
 
         STRUCT_EVENT_ARGUMENT_FUNCTION_U32   _pStructEventArgumentFunctionU32 
 構造体イベント引数関数(32bit符号無し整数)
 
         STRUCT_EVENT_ARGUMENT_FUNCTION_S32   _pStructEventArgumentFunctionS32 
 構造体イベント引数関数(32bit符号付き整数)
 
         STRUCT_EVENT_ARGUMENT_FUNCTION_F32   _pStructEventArgumentFunctionF32 
 構造体イベント引数関数(32bit浮動小数)
 
      }  
 
      GxTypedObject *   _pEventArgumentOwner 
 イベント引数所持者
 
      union { 
 
         void *   _pEventArgumentPointer 
 イベント引数ポインタ
 
         b32_   _eventArgumentB32 
 イベント引数(真偽値)
 
         u32   _eventArgumentU32 
 イベント引数(32bit符号無し整数)
 
         s32   _eventArgumentS32 
 イベント引数(32bit符号付き整数)
 
         f32   _eventArgumentF32 
 イベント引数(32bit浮動小数)
 
      }  
 
      EVENT_ARGUMENT_TYPE   _eventArgumentType 
 イベント引数タイプ
 
   }  
 引数付イベント用構造体
 
};  
 

アクセサ

void getValue (const GxTypedObject *pObject, void *const pValue) const
 数値を取得
 
void setValue (GxTypedObject *pObject, const void *const pValue) const
 数値を設定
 
void getValueIndex (const GxTypedObject *pObject, void *const pValue, u32 index) const
 インデックス指定で数値を取得
 
void setValueIndex (GxTypedObject *pObject, const void *const pValue, u32 index) const
 インデックス指定で数値を設定
 
u32 getCount (const GxTypedObject *pObject) const
 配列数を取得
 
void setCount (GxTypedObject *pObject, const u32 count)
 配列数を設定
 
void callEvent (GxTypedObject *pObject=nullptr)
 イベント呼び出し
 
constexpr TYPE getType (void) const
 種類を取得
 
constexpr void setPropertyType (GxProperty::TYPE type)
 プロパティの種類を設定
 
constexpr GxProperty::TYPE getPropertyType (void) const
 プロパティの種類を取得
 
b32 getAttribute (GxProperty::ATTRIBUTE attribute) const
 属性を取得
 
void setAttribute (GxProperty::ATTRIBUTE attribute, b32 enable)
 属性を設定
 
constexpr u32 getAttributeData (void) const
 属性データを取得
 
constexpr void setAttributeData (u32 attributeData)
 属性データを設定
 
GX_FORCE_INLINE GX_CSTR getVirtualName (void) const
 仮想名を取得
 
GX_FORCE_INLINE void setVirtualName (GX_CSTR name)
 仮想名を設定
 
void * getValuePointer (const GxTypedObject *pObject, u32 index=0) const
 数値のアドレスを取得
 
constexpr void * getEventArgumentPointer (void) const
 引数付きイベントの引数を取得
 
constexpr GxTypedObjectgetEventOwner (void) const
 イベントの所有者を取得
 
constexpr void setEventOwner (GxTypedObject *pOwner)
 イベントの所有者を設定
 
virtual void _getValue (const GxTypedObject *pObject, void *const pValue) const
 数値を取得
 
virtual void _setValue (GxTypedObject *pObject, const void *const pValue) const
 数値を設定
 
virtual void _getValueIndex (const GxTypedObject *pObject, void *const pValue, u32 index) const
 インデックス指定で数値を取得
 
virtual void _setValueIndex (GxTypedObject *pObject, const void *const pValue, u32 index) const
 インデックス指定で数値を設定
 
virtual u32 _getCount (const GxTypedObject *pObject) const
 配列数を取得
 
virtual void _setCount (GxTypedObject *pObject, const u32 count)
 配列数を設定
 
virtual void _callEvent (GxTypedObject *)
 イベントを呼び出す
 

Detailed Description

関数クラス

Member Enumeration Documentation

◆ TYPE

enum class GxProperty::GxFunction::TYPE
strong

関数クラスタイプ

Enumerator
SYSTEM 

通常の関数

UNIQUE 

ユニーク関数

Constructor & Destructor Documentation

◆ GxFunction() [1/12]

GxProperty::GxFunction::GxFunction ( size_t value,
u32 count,
u32 stride,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(_PARAM / _ARRAY)

Parameters
value[in] オブジェクト
count[in] カウント
stride[in] 1要素分のサイズ
functionType[in] 関数の種類

◆ GxFunction() [2/12]

GxProperty::GxFunction::GxFunction ( GET_VALUE_FUNCTION pGetValueFunction,
SET_VALUE_FUNCTION pSetValueFunction,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(_CUSTOM)

Parameters
pGetFunction[in] 取得関数ポインタ
pSetFunction[in] 設定関数ポインタ
functionType[in] 関数の種類

◆ GxFunction() [3/12]

GxProperty::GxFunction::GxFunction ( GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction,
SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction,
GET_COUNT_FUNCTION pGetCountFunction,
SET_COUNT_FUNCTION pSetCountFunction,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(_DYNAMIC)

Parameters
pGetIndexValueFunction[in] 取得関数ポインタ
pSetIndexValueFunction[in] 設定関数ポインタ
pGetCountFunction[in] 要素数取得関数ポインタ
pSetCountFunction[in] 要素数設定関数ポインタ
functionType[in] 関数の種類

◆ GxFunction() [4/12]

GxProperty::GxFunction::GxFunction ( STRUCT_GET_VALUE_FUNCTION pGetStructValueFunction,
STRUCT_SET_VALUE_FUNCTION pSetStructValueFunction,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(_CUSTOM_STRUCT)

Parameters
pGetStructValueFunction[in] 取得関数ポインタ
pSetStructValueFunction[in] 設定関数ポインタ
functionType[in] 関数の種類

◆ GxFunction() [5/12]

GxProperty::GxFunction::GxFunction ( STRUCT_GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction,
STRUCT_SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction,
STRUCT_GET_COUNT_FUNCTION pGetCountFunction,
STRUCT_SET_COUNT_FUNCTION pSetCountFunction,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(_STRUCT_DYNAMIC)

Parameters
pGetIndexValueFunction[in] 取得関数ポインタ
pSetIndexValueFunction[in] 設定関数ポインタ
pGetCountFunction[in] 要素数取得関数ポインタ
pSetCountFunction[in] 要素数設定関数ポインタ
functionType[in] 関数の種類

◆ GxFunction() [6/12]

GxProperty::GxFunction::GxFunction ( EVENT_FUNCTION pEventFunction,
GxTypedObject * pOwner = nullptr,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(イベント)

Parameters
pEventFunction[in] イベント関数ポインタ
pOwner[in] オブジェクト
functionType[in] 関数の種類

◆ GxFunction() [7/12]

GxProperty::GxFunction::GxFunction ( EVENT_ARGUMENT_FUNCTION_POINTER pEventArgumentFunctionPointer,
GxTypedObject * pOwner = nullptr,
void * pArgument = nullptr,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(ポインタ引数イベント)

Parameters
pEventArgumentFunctionPointer[in] イベント引数関数ポインタ
pOwner[in] オブジェクト
pArgument[in] 引数
functionType[in] 関数の種類

◆ GxFunction() [8/12]

GxProperty::GxFunction::GxFunction ( EVENT_ARGUMENT_FUNCTION_B32 pEventArgumentFunctionB32,
GxTypedObject * pOwner = nullptr,
b32 argumentB32 = false,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(B32引数イベント)

Parameters
pEventArgumentFunctionB32[in] イベント引数関数ポインタ
pOwner[in] オブジェクト
pArgumentB32[in] b32引数
functionType[in] 関数の種類

◆ GxFunction() [9/12]

GxProperty::GxFunction::GxFunction ( EVENT_ARGUMENT_FUNCTION_U32 pEventArgumentFunctionU32,
GxTypedObject * pOwner = nullptr,
u32 argumentU32 = 0,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(U32引数イベント)

Parameters
pEventArgumentFunctionU32[in] イベント引数関数ポインタ
pOwner[in] オブジェクト
pArgumentU32[in] u32引数
functionType[in] 関数の種類

◆ GxFunction() [10/12]

GxProperty::GxFunction::GxFunction ( EVENT_ARGUMENT_FUNCTION_S32 pEventArgumentFunctionS32,
GxTypedObject * pOwner = nullptr,
s32 argumentS32 = 0,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(S32引数イベント)

Parameters
pEventArgumentFunctionS32[in] イベント引数関数ポインタ
pOwner[in] オブジェクト
pArgumentS32[in] s32引数
functionType[in] 関数の種類

◆ GxFunction() [11/12]

GxProperty::GxFunction::GxFunction ( EVENT_ARGUMENT_FUNCTION_F32 pEventArgumentFunctionF32,
GxTypedObject * pOwner = nullptr,
f32 argumentF32 = 0.0f,
TYPE functionType = TYPE::SYSTEM )

コンストラクタ(F32引数イベント)

Parameters
pEventArgumentFunctionF32[in] イベント引数関数ポインタ
pOwner[in] オブジェクト
pArgumentF32[in] f32引数
functionType[in] 関数の種類

◆ GxFunction() [12/12]

GxProperty::GxFunction::GxFunction ( const GxFunction & function)

コピーコンストラクタ

Parameters
function[in] 関数
Here is the call graph for this function:

Member Function Documentation

◆ _callEvent()

virtual void GxProperty::GxFunction::_callEvent ( GxTypedObject * )
inlineprotectedvirtual

イベントを呼び出す

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ _getCount()

u32 GxProperty::GxFunction::_getCount ( const GxTypedObject * pObject) const
protectedvirtual

配列数を取得

Parameters
pObject[in] オブジェクト

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ _getValue()

void GxProperty::GxFunction::_getValue ( const GxTypedObject * pObject,
void *const pValue ) const
protectedvirtual

数値を取得

Parameters
pObject[in] オブジェクト
pValue[in] 取得値

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ _getValueIndex()

void GxProperty::GxFunction::_getValueIndex ( const GxTypedObject * pObject,
void *const pValue,
u32 index ) const
protectedvirtual

インデックス指定で数値を取得

Parameters
pObject[in] オブジェクト
pValue[in] 取得値
index[in] インデックス

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ _setCount()

void GxProperty::GxFunction::_setCount ( GxTypedObject * pObject,
const u32 count )
protectedvirtual

配列数を設定

Parameters
pObject[in] オブジェクト
count[in] 配列数

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ _setValue()

void GxProperty::GxFunction::_setValue ( GxTypedObject * pObject,
const void *const pValue ) const
protectedvirtual

数値を設定

Parameters
pObject[in] オブジェクト
pValue[in] 取得値

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ _setValueIndex()

void GxProperty::GxFunction::_setValueIndex ( GxTypedObject * pObject,
const void *const pValue,
u32 index ) const
protectedvirtual

インデックス指定で数値を設定

Parameters
pObject[in] オブジェクト
pValue[in] 取得値
index[in] インデックス

Reimplemented in GxProperty::GxStructUniqueFunction, and GxProperty::GxUniqueFunction< T >.

Here is the caller graph for this function:

◆ getAttribute()

b32 GxProperty::GxFunction::getAttribute ( GxProperty::ATTRIBUTE attribute) const

属性を取得

Parameters
attribute[in] 属性
Returns
判定結果
Here is the caller graph for this function:

◆ getValuePointer()

void * GxProperty::GxFunction::getValuePointer ( const GxTypedObject * pObject,
u32 index = 0 ) const

数値のアドレスを取得

Parameters
pObject[in] オブジェクト
index[in] インデックス
Returns
アドレス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

const GxProperty::GxFunction & GxProperty::GxFunction::operator= ( const GxFunction & function)

代入演算子

Parameters
function[in] 関数
Returns
関数

◆ setAttribute()

void GxProperty::GxFunction::setAttribute ( GxProperty::ATTRIBUTE attribute,
b32 enable )

属性を設定

Parameters
attribute[in] 属性
enable[in] ON/OFF
Here is the caller graph for this function:

Member Data Documentation

◆ _pEventArgumentFunctionPointer

EVENT_ARGUMENT_FUNCTION_POINTER GxProperty::GxFunction::_pEventArgumentFunctionPointer

イベントコールバック関数

イベント引数関数ポインタ


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