ComponentWithBase< C, BASE, INTERFACE, INTERFACES > Class Template Reference 系统

#include <objectbase.h>

Inheritance diagram for ComponentWithBase< C, BASE, INTERFACE, INTERFACES >:

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
}; 

Member Typedef Documentation

◆  PrivateSuper

using PrivateSuper = typename ComponentHelper <BASE, INTERFACE, INTERFACES...>::type

◆  PrivateComponentWithBase

using PrivateComponentWithBase = ComponentWithBase

◆  接口

using 接口 = INTERFACE

◆  PrivateInterface

using PrivateInterface = INTERFACE

◆  Ref

using Ref = typename INTERFACE::Hxx1::ReferenceClass

◆  ComponentClass

using ComponentClass = C

◆  _Wrapper

using _Wrapper = typename ComponentWithBase::template Wrapper<maxon::ComponentWrapper<C> >

◆  PrivateSuperMTable

using PrivateSuperMTable = typename ComponentWithBase::template CombinedMTable<maxon::CombinedMTableRoot>

◆  InterfacesBlock

using InterfacesBlock = maxon::InterfacesBlock <INTERFACE, INTERFACES...>

成员函数文档编制

◆  Get() [1/2]

static C* Get ( maxon::ObjectInterface object )
static

◆  Get() [2/2]

static const C* Get ( const ObjectInterface object )
static

◆  GetNonNull() [1/2]

static C* GetNonNull ( maxon::ObjectInterface object )
static

◆  GetNonNull() [2/2]

static const C* GetNonNull ( const ObjectInterface object )
static

◆  GetOrNull() [1/2]

static C* GetOrNull ( ObjectInterface object )
static

◆  GetOrNull() [2/2]

static const C* GetOrNull ( const ObjectInterface object )
static

◆  CreateInit()

static Result <typename Ref::NonConst> CreateInit ( ARGS &&...  args )
static

◆  operator=()

ComponentWithBase & operator= ( const typename std::conditional< STD_IS_REPLACEMENT (copy_assignable, PrivateSuper ), ComponentWithBase < C, BASE, INTERFACE, INTERFACES >, DummyParamType >::type &  src )

◆  PrivateGetSelfPtrOffset()

static Int PrivateGetSelfPtrOffset ( )
static

◆  GetClass()

static const Class <typename INTERFACE::Hxx1::ReferenceClass>& GetClass ( )
static

◆  GetDescriptor()

static const ComponentDescriptor & GetDescriptor ( )
static

◆  PrivateConstructMTable()

static Bool PrivateConstructMTable ( ClassInfo *  info ,
Int   offset ,
void *  supervtable  
)
static

◆  PrivateConstructClass()

static Result <CLS> PrivateConstructClass ( MAXON_SOURCE_LOCATION_DECLARATION   ,
Id cid  
)
static

◆  PrivateCreateInstance()

static Result <T> PrivateCreateInstance ( MAXON_SOURCE_LOCATION_DECLARATION   ,
Id cid  
)
static

Member Data Documentation

◆  self

std::conditional<ComponentWithBase::ADAPTER, const ObjectInterface *, typename ComponentWithBase::SelfPtr>::type self

◆  super

SelfPtrBase<typename std::conditional<ComponentWithBase::ADAPTER, INTERFACE, ComponentWithBase >::type::template ReferenceFunctions<RefBaseFunctions<DirectRef<INTERFACE, SuperPointerHandler, SuperPtrComponentInfo<C, ComponentWithBase > > > > > super

◆  @1081

union { ... }