CFx SDK Documentation  2020SP3
Classes | Macros
SmartClsIdPtr.h File Reference
#include "TD_PackPush.h"
#include "SmartPtr.h"
#include "TD_PackPop.h"

Go to the source code of this file.

Classes

class  OdClsIdSmartPtr< ClsIdRetriever, T >
 

Macros

#define ODRX_DEFINE_CLSID_RETRIEVER(Class)
 
#define ODRX_DEFINE_CLSID_SMARTPTR(Class)
 

Macro Definition Documentation

◆ ODRX_DEFINE_CLSID_RETRIEVER

#define ODRX_DEFINE_CLSID_RETRIEVER (   Class)
Value:
class OdRxClsIdHolderFor_##Class\
{\
public:\
static inline const OdRxClass* classId()\
{\
OdRxClass* pClass = static_cast<OdRxClass*>(::odrxClassDictionary()->getAt(OD_T(#Class)).get());\
if(!pClass)\
throw OdError(eNotInitializedYet);\
return pClass;\
}\
}

Definition at line 35 of file SmartClsIdPtr.h.

◆ ODRX_DEFINE_CLSID_SMARTPTR

#define ODRX_DEFINE_CLSID_SMARTPTR (   Class)
OD::Class
OdRxClass Class
Definition: RxFS.h:42
OdRxObjectPtr::get
OdRxObject * get()
Definition: RxObject.h:503
OdClsIdSmartPtr
Definition: SmartClsIdPtr.h:60
OD_T
#define OD_T(x)
Definition: OdPlatformSettings.h:714
OdRxClass
Definition: RxObject.h:865
OdRxDictionary::getAt
virtual OdRxObjectPtr getAt(const OdString &key) const =0
ODRX_DEFINE_CLSID_RETRIEVER
#define ODRX_DEFINE_CLSID_RETRIEVER(Class)
Definition: SmartClsIdPtr.h:35
odrxClassDictionary
FIRSTDLL_EXPORT OdRxDictionaryPtr odrxClassDictionary()
OdError
Definition: OdError.h:43