OROCHI
 
Loading...
Searching...
No Matches
GxBase.h File Reference

オブジェクト基底クラス More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GxStructBase
 
class  GxClassBaseRoot
 基底クラス More...
 
class  GxClassBase
 オブジェクト基底クラス More...
 
class  GxClassBaseReference
 参照オブジェクト基底クラス More...
 

Macros

#define GX_PROHIBIT_NEW(__CLASS__)
 new以外の生成禁止
 
#define GX_PROHIBIT_COPY(__CLASS__)
 コピー禁止
 
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
 GxClassBase継承の禁止宣言
 
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
 GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
 
#define GX_PROHIBIT_CLASS_BASE_REFERENCE_ALLOW_COPY(__CLASS__)
 GxClassBaseReference継承の禁止宣言(new以外の生成禁止)
 
#define GX_SAFE_RELEASE(__POINTER__)
 解放(参照カウンタを使用する場合)
 
#define GX_SET_CLASS_BASE_REFERENCE(__DST__, __SRC__)
 オブジェクト設定(参照カウンタを使用する場合)
 

Typedefs

typedef void(GxClassBaseRoot::* GX_OBJECT_FUNCTION) (void)
 
typedef void(GxClassBaseRoot::* GX_OBJECT_FUNCTION_PARAM) (u32)
 
typedef void(GxClassBaseRoot::* GX_OBJECT_FUNCTION_POINTER) (void *)
 

Functions

template<class T >
gx_cast (GxClassBaseRoot *pObject)
 
template<class T >
gx_cast (const GxClassBaseRoot *pObject)
 

Detailed Description

オブジェクト基底クラス

Author
Copyright (C)2009 SiliconStudio Inc. All rights reserved.
Tahir Arai

Macro Definition Documentation

◆ GX_PROHIBIT_CLASS_BASE

#define GX_PROHIBIT_CLASS_BASE ( __CLASS__)
Value:
GX_PROHIBIT_COPY(__CLASS__) \
#define GX_PROHIBIT_COPY(__CLASS__)
コピー禁止
Definition GxBase.h:233

GxClassBase継承の禁止宣言

◆ GX_PROHIBIT_CLASS_BASE_REFERENCE

#define GX_PROHIBIT_CLASS_BASE_REFERENCE ( __CLASS__)
Value:
GX_PROHIBIT_NEW(__CLASS__) \
GX_PROHIBIT_COPY(__CLASS__) \
public:
#define GX_PROHIBIT_NEW(__CLASS__)
new以外の生成禁止
Definition GxBase.h:227

GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)

◆ GX_PROHIBIT_CLASS_BASE_REFERENCE_ALLOW_COPY

#define GX_PROHIBIT_CLASS_BASE_REFERENCE_ALLOW_COPY ( __CLASS__)
Value:
GX_PROHIBIT_NEW(__CLASS__) \
public:

GxClassBaseReference継承の禁止宣言(new以外の生成禁止)

◆ GX_PROHIBIT_COPY

#define GX_PROHIBIT_COPY ( __CLASS__)
Value:
/* コピーコンストラクタ (コピー禁止) */ \
__CLASS__(const __CLASS__&) = delete; \
/* 代入演算子 (コピー禁止) */ \
GX_FORCE_INLINE const __CLASS__& operator=(const __CLASS__&) = delete; \

コピー禁止

◆ GX_PROHIBIT_NEW

#define GX_PROHIBIT_NEW ( __CLASS__)
Value:
protected: \
/* デストラクタ (GX_NEW, GX_RELEASE以外での生成・破棄禁止) */ \
~__CLASS__(void) override {} \

new以外の生成禁止

◆ GX_SAFE_RELEASE

#define GX_SAFE_RELEASE ( __POINTER__)
Value:
if(__POINTER__){ GxClassBaseReference* __pOld__ = __POINTER__; __POINTER__ = nullptr; __pOld__->release(); }
参照オブジェクト基底クラス
Definition GxBase.h:122
virtual s32 release(void)
解放
Definition GxBase.cpp:319

解放(参照カウンタを使用する場合)

◆ GX_SET_CLASS_BASE_REFERENCE

#define GX_SET_CLASS_BASE_REFERENCE ( __DST__,
__SRC__ )
Value:
{ \
GxClassBaseReference* __pOldBase__ = (__DST__); \
__DST__ = (__SRC__); \
if(__DST__) \
{ \
(__DST__)->addReference(); \
} \
GX_SAFE_RELEASE(__pOldBase__); \
}

オブジェクト設定(参照カウンタを使用する場合)

Function Documentation

◆ gx_cast() [1/2]

template<class T >
T gx_cast ( const GxClassBaseRoot * pObject)

Coreポインタのキャスト

Template Parameters
Tキャストする型
Parameters
pObject対象オブジェクト
Returns
キャスト後のオブジェクト
Here is the call graph for this function:

◆ gx_cast() [2/2]

template<class T >
T gx_cast ( GxClassBaseRoot * pObject)

Coreポインタのキャスト

Template Parameters
Tキャストする型
Parameters
pObject対象オブジェクト
Returns
キャスト後のオブジェクト
Here is the call graph for this function: