OROCHI
 
Loading...
Searching...
No Matches
GxProperty::GxUniqueFunction< T > Class Template Reference

プロパティ関数を呼び出すクラス More...

#include <GxProperty.h>

Inheritance diagram for GxProperty::GxUniqueFunction< T >:
Collaboration diagram for GxProperty::GxUniqueFunction< T >:

Public Types

定義
typedef void(T::*) GET_VALUE_FUNCTION(void *const pValue)
 
typedef void(T::*) SET_VALUE_FUNCTION(const void *const pValue)
 
typedef void(T::*) GET_INDEX_VALUE_FUNCTION(void *const pValue, u32 index)
 
typedef void(T::*) SET_INDEX_VALUE_FUNCTION(const void *const pValue, u32 index)
 
typedef u32(T::*) GET_COUNT_FUNCTION(void) const
 
typedef void(T::*) SET_COUNT_FUNCTION(u32 count)
 
typedef void(T::*) EVENT_FUNCTION(void)
 
typedef void(T::*) EVENT_ARGUMENT_FUNCTION_POINTER(void *pArgument)
 
typedef void(T::*) EVENT_ARGUMENT_FUNCTION_B32(b32 argumentB32)
 
typedef void(T::*) EVENT_ARGUMENT_FUNCTION_U32(u32 argumentU32)
 
typedef void(T::*) EVENT_ARGUMENT_FUNCTION_S32(s32 argumentS32)
 
typedef void(T::*) EVENT_ARGUMENT_FUNCTION_F32(f32 argumentF32)
 
- Public Types inherited from GxProperty::GxFunction
enum class  TYPE { SYSTEM , UNIQUE }
 関数クラスタイプ More...
 

Public Member Functions

初期化
 GxUniqueFunction (void)
 デフォルトコンストラクタ
 
 GxUniqueFunction (void *pValue, u32 count, u32 stride)
 コンストラクタ(_PARAM)
 
 GxUniqueFunction (GET_VALUE_FUNCTION pGetValueFunction, SET_VALUE_FUNCTION pSetValueFunction)
 コンストラクタ(_CUSTOM)
 
 GxUniqueFunction (GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction, SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction, GET_COUNT_FUNCTION pGetCountFunction, SET_COUNT_FUNCTION pSetCountFunction)
 コンストラクタ(_DYNAMIC)
 
 GxUniqueFunction (EVENT_FUNCTION pEventFunction, GxTypedObject *pOwner=nullptr)
 コンストラクタ(_EVENT)
 
 GxUniqueFunction (EVENT_ARGUMENT_FUNCTION_POINTER pEventArgumentFunctionPointer, GxTypedObject *pOwner=nullptr, void *pArgument=nullptr)
 コンストラクタ(_EVENT_ARGUMENT_POINTER)
 
 GxUniqueFunction (EVENT_ARGUMENT_FUNCTION_B32 pEventArgumentFunctionB32, GxTypedObject *pOwner=nullptr, b32 argumentB32=false)
 コンストラクタ(_EVENT_ARGUMENT_B32)
 
 GxUniqueFunction (EVENT_ARGUMENT_FUNCTION_U32 pEventArgumentFunctionU32, GxTypedObject *pOwner=nullptr, u32 argumentU32=0)
 コンストラクタ(_EVENT_ARGUMENT_U32)
 
 GxUniqueFunction (EVENT_ARGUMENT_FUNCTION_S32 pEventArgumentFunctionS32, GxTypedObject *pOwner=nullptr, s32 argumentS32=0)
 コンストラクタ(_EVENT_ARGUMENT_S32)
 
 GxUniqueFunction (EVENT_ARGUMENT_FUNCTION_F32 pEventArgumentFunctionF32, GxTypedObject *pOwner=nullptr, f32 argumentF32=0.0f)
 コンストラクタ(_EVENT_ARGUMENT_F32)
 
- Public Member Functions inherited from GxProperty::GxFunction
 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)
 代入演算子
 
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)
 イベントの所有者を設定
 

Protected Member Functions

操作
void _getValue (const GxTypedObject *pObject, void *const pValue) const override
 数値を取得
 
void _setValue (GxTypedObject *pObject, const void *const pValue) const override
 数値を設定
 
void _getValueIndex (const GxTypedObject *pObject, void *const pValue, u32 index) const override
 インデックス指定で数値を取得
 
void _setValueIndex (GxTypedObject *pObject, const void *const pValue, u32 index) const override
 インデックス指定で数値を設定
 
u32 _getCount (const GxTypedObject *pObject) const override
 配列数を取得
 
void _setCount (GxTypedObject *pObject, const u32 count) override
 配列数を変更
 
void _callEvent (GxTypedObject *pObject=nullptr) override
 イベントを呼び出す
 
- Protected Member Functions inherited from GxProperty::GxFunction

Additional Inherited Members

- Public Attributes inherited from GxProperty::GxFunction
- Protected Attributes inherited from GxProperty::GxFunction
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 
 イベント引数タイプ
 
   }  
 引数付イベント用構造体
 
};  
 

Detailed Description

template<class T>
class GxProperty::GxUniqueFunction< T >

プロパティ関数を呼び出すクラス

Member Function Documentation

◆ _callEvent()

template<class T >
void GxProperty::GxUniqueFunction< T >::_callEvent ( GxTypedObject * pObject = nullptr)
overrideprotectedvirtual

イベントを呼び出す

Reimplemented from GxProperty::GxFunction.

◆ _getCount()

template<class T >
u32 GxProperty::GxUniqueFunction< T >::_getCount ( const GxTypedObject * pObject) const
inlineoverrideprotectedvirtual

配列数を取得

Reimplemented from GxProperty::GxFunction.

◆ _getValue()

template<class T >
void GxProperty::GxUniqueFunction< T >::_getValue ( const GxTypedObject * pObject,
void *const pValue ) const
inlineoverrideprotectedvirtual

数値を取得

Reimplemented from GxProperty::GxFunction.

◆ _getValueIndex()

template<class T >
void GxProperty::GxUniqueFunction< T >::_getValueIndex ( const GxTypedObject * pObject,
void *const pValue,
u32 index ) const
inlineoverrideprotectedvirtual

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

Reimplemented from GxProperty::GxFunction.

◆ _setCount()

template<class T >
void GxProperty::GxUniqueFunction< T >::_setCount ( GxTypedObject * pObject,
const u32 count )
inlineoverrideprotectedvirtual

配列数を変更

Reimplemented from GxProperty::GxFunction.

◆ _setValue()

template<class T >
void GxProperty::GxUniqueFunction< T >::_setValue ( GxTypedObject * pObject,
const void *const pValue ) const
inlineoverrideprotectedvirtual

数値を設定

Reimplemented from GxProperty::GxFunction.

◆ _setValueIndex()

template<class T >
void GxProperty::GxUniqueFunction< T >::_setValueIndex ( GxTypedObject * pObject,
const void *const pValue,
u32 index ) const
inlineoverrideprotectedvirtual

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

Reimplemented from GxProperty::GxFunction.


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