ComponentWithBase< C, BASE, INTERFACE, INTERFACES > Class Template Reference 系统
#include <objectbase.h>
Public Types |
|
using | PrivateSuper = typename ComponentHelper < BASE, INTERFACE, INTERFACES... >::type |
using | PrivateComponentWithBase = ComponentWithBase |
using | 接口 = INTERFACE |
using | PrivateInterface = INTERFACE |
using | Ref = typename INTERFACE::Hxx1::ReferenceClass |
using | ComponentClass = C |
using | _Wrapper = typename ComponentWithBase::template Wrapper< maxon::ComponentWrapper< C > > |
using | PrivateSuperMTable = typename ComponentWithBase::template CombinedMTable< maxon::CombinedMTableRoot > |
using | InterfacesBlock = maxon::InterfacesBlock < INTERFACE, INTERFACES... > |
公共成员函数 |
|
ComponentWithBase & | operator= (const typename std::conditional< STD_IS_REPLACEMENT (copy_assignable, PrivateSuper ), ComponentWithBase , DummyParamType >::type & src ) |
静态公共成员函数 |
|
static C * | Get ( maxon::ObjectInterface *object) |
static const C * | Get (const ObjectInterface *object) |
static C * | GetNonNull ( maxon::ObjectInterface *object) |
static const C * | GetNonNull (const ObjectInterface *object) |
static C * | GetOrNull ( ObjectInterface *object) |
static const C * | GetOrNull (const ObjectInterface *object) |
template<typename... ARGS> | |
static Result < typename Ref::NonConst > | CreateInit (ARGS &&... args) |
static Int | PrivateGetSelfPtrOffset () |
static const Class < typename INTERFACE::Hxx1::ReferenceClass > & | GetClass () |
static const ComponentDescriptor & | GetDescriptor () |
static Bool | PrivateConstructMTable (ClassInfo *info, Int offset, void *supervtable) |
template<typename CLS > | |
static Result < CLS > | PrivateConstructClass ( MAXON_SOURCE_LOCATION_DECLARATION , Id &cid) |
template<typename T > | |
static Result < T > | PrivateCreateInstance ( MAXON_SOURCE_LOCATION_DECLARATION , Id &cid) |
Public Attributes |
|
union { | |
std::conditional< ComponentWithBase::ADAPTER, const ObjectInterface *, typename ComponentWithBase::SelfPtr >::type self | |
SelfPtrBase< typename std::conditional< ComponentWithBase::ADAPTER, INTERFACE, ComponentWithBase >::type::template ReferenceFunctions< RefBaseFunctions< DirectRef< INTERFACE, SuperPointerHandler, SuperPtrComponentInfo< C, ComponentWithBase > > > > > super | |
}; |
using PrivateSuper = typename ComponentHelper <BASE, INTERFACE, INTERFACES...>::type |
using PrivateComponentWithBase = ComponentWithBase |
using 接口 = INTERFACE |
using PrivateInterface = INTERFACE |
using Ref = typename INTERFACE::Hxx1::ReferenceClass |
using ComponentClass = C |
using _Wrapper = typename ComponentWithBase::template Wrapper<maxon::ComponentWrapper<C> > |
using PrivateSuperMTable = typename ComponentWithBase::template CombinedMTable<maxon::CombinedMTableRoot> |
using InterfacesBlock = maxon::InterfacesBlock <INTERFACE, INTERFACES...> |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
ComponentWithBase & operator= | ( | const typename std::conditional< STD_IS_REPLACEMENT (copy_assignable, PrivateSuper ), ComponentWithBase < C, BASE, INTERFACE, INTERFACES >, DummyParamType >::type & | src | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
std::conditional<ComponentWithBase::ADAPTER, const ObjectInterface *, typename ComponentWithBase::SelfPtr>::type self |
SelfPtrBase<typename std::conditional<ComponentWithBase::ADAPTER, INTERFACE, ComponentWithBase >::type::template ReferenceFunctions<RefBaseFunctions<DirectRef<INTERFACE, SuperPointerHandler, SuperPtrComponentInfo<C, ComponentWithBase > > > > > super |
union { ... } |