maxon::details Namespace Reference 系统

| Data Structures | Data Types | 线程

Classes

struct   BaseLock
struct   BlockType
struct   BlockType< const void >
struct   BlockType< void >
class   CallMe
class   CallMe< Result< T > >
class   CallMe< Result< void > >
class   CallMe< void >
struct   CastHelper
struct   CastHelper< R, SRC, true >
struct   CheckHasBaseHelper
struct   CheckHasBaseHelper< T, T >
struct   ClassGetNonConst
struct   ClassGetNonConst< ObjectRef >
struct   ComponentIdentifierMetaData
struct   ComponentIdentifierMetaData< const Char *, DEF >
struct   ComponentIdentifierMetaData< Id, DEF >
struct   ComponentIdentifierMetaData< LiteralId, DEF >
class   ContainerIterator
struct   CopyImplSelector
struct   CopyImplSelector< false >
struct   CopyImplSelector< true >
class   DataIdSwitch
struct   DefaultHasBase
class   DirectInstance
struct   DirectInstanceHandler
struct   EqualityCompare
class   FinallyFactory
class   FinallyOnce
class   FinallyOnceFactory
class   FinallyWrapper
class   ForceEvaluation
class   ForwardFree
class   ForwardFree< true >
struct   GetResultType
struct   GetResultType< Data >
struct   GetResultType< Result< Data > >
struct   GetResultType< Result< T > >
struct   GetResultType< Result< void > >
struct   GetResultType< void >
class   GlobalBase
class   HasBaseHelper
class   HasBaseHelper< D, B, 1 >
class   HasBaseHelper< D, B, 2 >
struct   HasBaseHelper< Generic, InternedId, 0 >
struct   HasCommonType
struct   HasCommonType< T1, T2, typename SFINAEHelper< void, typename std::common_type< T1, T2 >::type >::type >
struct   HomogenousTupleTypeHelper
struct   HomogenousTupleTypeHelper< 0, T, TYPES ... >
class   IdSwitch
class   IdSwitchCheck
class   InitializationFunctions
class   InternedIdSwitch
struct   IterableBeginHelper
struct   IterableBeginHelper< T(&)[N]>
struct   IterableBeginHelper< T[N]>
struct   LessThanCompare
struct   LessThanOrEqualAsLessThan
struct   MakeLValueConst
struct   MakeLValueConst< T & >
struct   MemberType
struct   MemberType< T &&, GENERIC_FOR_UNKNOWN_TYPE >
struct   MemberType< T &, GENERIC_FOR_UNKNOWN_TYPE >
struct   MemberTypeBase
struct   MemberTypeBase< T, typename std::enable_if< maxon::details::HasBaseHelper< T, InternedId, 0 >::value, typename SFINAEHelper< void, typename T::ValueType >::type >::type >
struct   MethodDelegateThisType
struct   MethodDelegateType
struct   MethodDelegateType< RESULT(*)(OBJECT *, ARGS...)>
class   NewDelete
struct   NonEmptyBasesHelper
struct   NonEmptyBasesHelper< T1, REST... >
struct   NonEmptyBasesHelper<>
class   NonEmptyDerived
class   NonEmptyDerived< B1, EmptyClass >
class   NonEmptyDerived< EmptyClass, B2 >
class   NonEmptyDerived< EmptyClass, EmptyClass >
class   NullReturnType
struct   ObjectBaseRefImpl
struct   ObjectBaseRefImpl< EntityBase::FLAGS::REFERENCE_CONST >
struct   ObjectBaseRefImpl< EntityBase::FLAGS::REFERENCE_COPY_ON_WRITE >
struct   ObjectBaseRefImpl< EntityBase::FLAGS::REFERENCE_NORMAL >
class   OptDefaultStorage
class   OptRefStorage
class   OptScalarStorage
class   PackConstData
struct   PairSelector
struct   PairSelector< T1, T2, UnitType >
struct   ParameterPackContainsAll
struct   ParameterPackContainsAll< PACK, ParameterPack< X... > >
struct   PartialSumSequenceHelper
struct   PartialSumSequenceHelper< ZERO_BASED, SEQUENCE, SUM >
struct   PartialSumSequenceHelper< ZERO_BASED, SEQUENCE, SUM, X, REST... >
class   PrivateVertexWrapper
struct   ResultOkError
class   ResultOptFunctions
struct   ReverseIterable
struct   StaticSplitHelper
struct   StaticSplitHelper< 0, I >
struct   SubstituteReferenceByPointer
struct   SubstituteReferenceByPointer< T & >
struct   SubstituteReferenceByPointer< T && >
struct   TmpErrType
struct   TmpErrType< ResultOk< T > >
struct   TupleRecHelper
struct   TupleRecHelper< I, 0 >
struct   TupleRecHelper< I, 1 >
struct   TupleRefWrapper
struct   TupleRefWrapper< T & >
class   TupleStorage
class   TupleStorage< T1 >
class   TupleStorage< T1, T2 >
class   TupleStorage< T1, T2, T3 >
class   TupleStorage< T1, T2, T3, T4 >
class   TupleStorage< T1, T2, T3, T4, T5 >
class   TupleStorage< T1, UnitType >
class   TupleStorageBase
class   TupleStorageBase< false, true, T... >
class   TupleStorageBase< true, false, T... >
class   TupleStorageBase< true, true, T... >
class   TupleStorageLayout
class   TupleStorageLayout< INDEX, PRE_OFFSET, PRE_MAX_ALIGN >
class   TupleStorageLayout< INDEX, PRE_OFFSET, PRE_MAX_ALIGN, SZ_ALIGN, REST... >
class   UnpackConstData
class   UnpackConstData< RESULT(ARGS...)>

Typedefs

template<typename T >
using  GetReferenceClass = typename T::ReferenceClass
template<typename T >
using  GetPrivateReferencedType = typename T::PrivateReferencedType
template<typename T >
using  OptStorageType = typename std::conditional< STD_IS_REPLACEMENT (scalar, T), maxon::details::OptScalarStorage < T >, maxon::details::OptDefaultStorage < T > >::type

函数

void  FreeArrayIteratorPersistentId ( PersistentIdBuffer *idBuffer, const PersistentIdGeneratorInterface *ig)
Result < void >  MoveArrayIteratorPersistentId ( Int index, PersistentIdBuffer *idBuffer, const PersistentIdGeneratorInterface *ig)
template<Bool RANDOM_ACCESS, Bool LOAD_ELEMENTS, typename ARRAY >
Result < Int ValidateArrayIterator (const ARRAY &array, Int index, ViewIteratorMember *members, const MemberMap *map, Int *state, PersistentIdBuffer *idBuffer, const PersistentIdGeneratorInterface *ig)
Result < void >  InitArrayIteratorPersistentId ( PersistentIdBuffer *idBuffer, const PersistentIdGeneratorInterface *ig)
template<typename ARRAY >
Result < Int InitArrayIterator (const ARRAY &array, ViewIteratorMember *members, const MemberMap *map, Int *state, PersistentIdBuffer *idBuffer, const PersistentIdGeneratorInterface *ig)
Result < void >  AdvanceArrayIteratorPersistentId ( Int index, PersistentIdBuffer &idBuffer, const PersistentIdGeneratorInterface *ig)
StrongReferenceCounter PrivateGetReferenceCounter (const void *obj)
template<typename T >
void  PrivateFreeWithDestructor (const T *obj)
void  PrivateAddWeakReference ( WeakRefBase &weakRef, const void *target)
template<typename T , typename... ARGS>
ResultPtr < T >  NewObjWithLocation ( MAXON_SOURCE_LOCATION_DECLARATION , ARGS &&... args)
template<typename I , typename = typename I::NonvirtualInterfaceMarker>
const void *  MethodDelegateMTable (const void *)
template<typename I , typename = typename I::InterfaceMarker>
const void *  MethodDelegateMTable (const ObjectInterface *object)
template<typename I , typename METHOD , typename T >
MethodDelegateType < METHOD >::type  GetMethodDelegate (T &&object, Int offset)
IdSwitchCheck < InternedIdSwitch GetIdSwitch (const InternedId &iid, OverloadRank2 )
IdSwitchCheck < InternedIdSwitch GetIdSwitch (const InternedId *iid, OverloadRank2 )
IdSwitchCheck < IdSwitch GetIdSwitch (const Id &id, OverloadRank1 )
IdSwitchCheck < DataIdSwitch GetIdSwitch (const ConstDataPtr &data, OverloadRank0 )
IdSwitchCheck < DataIdSwitch GetIdSwitch (const ForwardingDataPtr &data, OverloadRank0 )
template<typename COLLECTION , typename... ARGS>
void  EraseHelper (COLLECTION &collection, typename COLLECTION::Iterator &it, std::false_type *, ARGS &&... args)
template<typename COLLECTION , typename... ARGS>
void  EraseHelper (COLLECTION &collection, typename COLLECTION::Iterator &it, std::true_type *, ARGS &&... args)
template<typename MTABLE , typename WRAPPER >
void  InitMTable (MTABLE *tbl)
void  AndNotAssignWithShift ( UInt64 &value, UInt bits, UInt shift)
UInt   GetUInt ( UInt64 value, UInt position)
UInt   GetMultiIndexElementLength ( UInt code)
Result < void >  AddComponentToClass ( ClassInterface &cls, const ComponentDescriptor &comp)
template<typename C >
Result < void >  AddComponentToClass ( ClassInterface &cls, const Declaration< ComponentDescriptor , C > &comp)
Result < void >  AddComponentToClass ( ClassInterface &cls, const Class <> &comp)
template<typename T , typename C >
Result < void >  AddComponentToClass ( ClassInterface &cls, const Declaration< Class < T >, C > &comp)
template<typename... ARGS>
static auto  GetUnpackConstData (const Delegate < ARGS... > &) -> UnpackConstData < ARGS... >
template<typename T >
Int   InstantiateNullReturnValue ( OverloadRank0 )
template<typename T >
SFINAEHelper < Int , typename std::enable_if<! STD_IS_REPLACEMENT (scalar, typename std::remove_reference< T >::type)>::type, typename NullValueFunctions < typename std::decay< T >::type >::Default >::type  InstantiateNullReturnValue ( OverloadRank1 )
template<typename T >
constexpr UInt64   GetSizeAndAlignment ()
template<typename X >
Bool   TupleDestructMember (Generic &x, SFINAEHelper < X > *)
template<typename X >
Bool   TupleDestructMember (Generic &x, SFINAEHelper < X & > *)
template<typename TUPLE , size_t... I>
void  TupleDestruct (TUPLE &tuple, std::index_sequence< I... > *)
ResultOk < void >  TupleCopyFrom ()
template<typename T1 , typename... T>
Result < void >  TupleCopyFrom (const T1 &a1, const T &... rest)
const String TupleToString (const FormatStatement *fs)
template<typename T1 , typename... T>
SFINAEHelper < String , T1 >::type  TupleToString (const FormatStatement *fs, const T1 &a1, const T &... rest)
Bool   TupleEquals ()
template<typename T1 , typename... T>
Bool   TupleEquals (const T1 &a1, const T &... rest)
Bool   TupleLessThan ()
template<typename T1 , typename... T>
Bool   TupleLessThan (const T1 &a1, const T &... rest)
template<typename T1 , typename T2 >
TupleStorage < T1 &, const T2 & >  TuplePair (T1 &t1, const T2 &t2)
template<typename TUP , typename F , size_t ... INDICES>
auto  ExpandSeqHelperConst (const TUP &tup, F &&func, std::index_sequence< INDICES ... >) -> decltype(func( TupleGet < INDICES >(tup) ...))
template<typename TUP , typename F , size_t ... INDICES>
auto  ExpandSeqHelper (TUP &&tup, F &&func, std::index_sequence< INDICES ... >) -> decltype(func( TupleGet < INDICES >(std::forward< TUP >(tup)) ...))
Bool   PrivateClearAllWeakReferences (const void *obj)

变量

struct maxon::details::MethodDelegateType < RESULT(*)(OBJECT *, ARGS...)>  MAXON_ENUM_ORDERED_LIST_CLASS
const COMPARERESULT   g_compareResultIncomparable

Typedef Documentation

◆  GetReferenceClass

using GetReferenceClass = typename T::ReferenceClass

◆  GetPrivateReferencedType

using GetPrivateReferencedType = typename T::PrivateReferencedType

◆  OptStorageType

using OptStorageType = typename std::conditional< STD_IS_REPLACEMENT (scalar, T), maxon::details::OptScalarStorage <T>, maxon::details::OptDefaultStorage <T> >::type

Function Documentation

◆  FreeArrayIteratorPersistentId()

void maxon::details::FreeArrayIteratorPersistentId ( PersistentIdBuffer idBuffer ,
const PersistentIdGeneratorInterface ig  
)

◆  MoveArrayIteratorPersistentId()

Result <void> maxon::details::MoveArrayIteratorPersistentId ( Int   index ,
PersistentIdBuffer idBuffer ,
const PersistentIdGeneratorInterface ig  
)

◆  ValidateArrayIterator()

Result < Int > maxon::details::ValidateArrayIterator ( const ARRAY &  array ,
Int   index ,
ViewIteratorMember members ,
const MemberMap map ,
Int state ,
PersistentIdBuffer idBuffer ,
const PersistentIdGeneratorInterface ig  
)

◆  InitArrayIteratorPersistentId()

Result <void> maxon::details::InitArrayIteratorPersistentId ( PersistentIdBuffer idBuffer ,
const PersistentIdGeneratorInterface ig  
)

◆  InitArrayIterator()

Result < Int > maxon::details::InitArrayIterator ( const ARRAY &  array ,
ViewIteratorMember members ,
const MemberMap map ,
Int state ,
PersistentIdBuffer idBuffer ,
const PersistentIdGeneratorInterface ig  
)

◆  AdvanceArrayIteratorPersistentId()

Result <void> maxon::details::AdvanceArrayIteratorPersistentId ( Int   index ,
PersistentIdBuffer idBuffer ,
const PersistentIdGeneratorInterface ig  
)

◆  PrivateGetReferenceCounter()

StrongReferenceCounter & PrivateGetReferenceCounter ( const void *  obj )

◆  PrivateFreeWithDestructor()

void PrivateFreeWithDestructor ( const T *  obj )

◆  PrivateAddWeakReference()

void maxon::details::PrivateAddWeakReference ( WeakRefBase weakRef ,
const void *  target  
)

◆  NewObjWithLocation()

ResultPtr < T > NewObjWithLocation ( MAXON_SOURCE_LOCATION_DECLARATION   ,
ARGS &&...  args  
)

◆  MethodDelegateMTable() [1/2]

const void* maxon::details::MethodDelegateMTable ( const void *  )

◆  MethodDelegateMTable() [2/2]

const void* maxon::details::MethodDelegateMTable ( const ObjectInterface object )

◆  GetMethodDelegate()

MethodDelegateType <METHOD>::type maxon::details::GetMethodDelegate ( T &&  object ,
Int   offset  
)

◆  GetIdSwitch() [1/5]

IdSwitchCheck < InternedIdSwitch > maxon::details::GetIdSwitch ( const InternedId iid ,
OverloadRank2    
)

◆  GetIdSwitch() [2/5]

IdSwitchCheck < InternedIdSwitch > maxon::details::GetIdSwitch ( const InternedId iid ,
OverloadRank2    
)

◆  GetIdSwitch() [3/5]

IdSwitchCheck < IdSwitch > maxon::details::GetIdSwitch ( const Id id ,
OverloadRank1    
)

◆  GetIdSwitch() [4/5]

IdSwitchCheck < DataIdSwitch > maxon::details::GetIdSwitch ( const ConstDataPtr data ,
OverloadRank0    
)

◆  GetIdSwitch() [5/5]

IdSwitchCheck < DataIdSwitch > maxon::details::GetIdSwitch ( const ForwardingDataPtr data ,
OverloadRank0    
)

◆  EraseHelper() [1/2]

void maxon::details::EraseHelper ( COLLECTION &  collection ,
typename COLLECTION::Iterator &  it ,
std::false_type *  ,
ARGS &&...  args  
)

◆  EraseHelper() [2/2]

void maxon::details::EraseHelper ( COLLECTION &  collection ,
typename COLLECTION::Iterator &  it ,
std::true_type *  ,
ARGS &&...  args  
)

◆  InitMTable()

void maxon::details::InitMTable ( MTABLE *  tbl )

◆  AndNotAssignWithShift()

void maxon::details::AndNotAssignWithShift ( UInt64 value ,
UInt   bits ,
UInt   shift  
)

◆  GetUInt()

UInt maxon::details::GetUInt ( UInt64   value ,
UInt   position  
)

◆  GetMultiIndexElementLength()

UInt maxon::details::GetMultiIndexElementLength ( UInt   code )

◆  AddComponentToClass() [1/4]

Result <void> maxon::details::AddComponentToClass ( ClassInterface cls ,
const ComponentDescriptor comp  
)

◆  AddComponentToClass() [2/4]

Result <void> maxon::details::AddComponentToClass ( ClassInterface cls ,
const Declaration< ComponentDescriptor , C > &  comp  
)

◆  AddComponentToClass() [3/4]

Result <void> maxon::details::AddComponentToClass ( ClassInterface cls ,
const Class <> &  comp  
)

◆  AddComponentToClass() [4/4]

Result <void> maxon::details::AddComponentToClass ( ClassInterface cls ,
const Declaration< Class < T >, C > &  comp  
)

◆  GetUnpackConstData()

static auto maxon::details::GetUnpackConstData ( const Delegate < ARGS... > &  ) -> UnpackConstData <ARGS...> static

◆  InstantiateNullReturnValue() [1/2]

Int maxon::details::InstantiateNullReturnValue ( OverloadRank0   )

◆  InstantiateNullReturnValue() [2/2]

SFINAEHelper < Int , typename std::enable_if<! STD_IS_REPLACEMENT (scalar, typename std::remove_reference<T>::type)>::type, typename NullValueFunctions <typename std::decay<T>::type>::Default>::type maxon::details::InstantiateNullReturnValue ( OverloadRank1   )

◆  GetSizeAndAlignment()

constexpr UInt64 maxon::details::GetSizeAndAlignment ( )
constexpr

◆  TupleDestructMember() [1/2]

Bool maxon::details::TupleDestructMember ( Generic &  x ,
SFINAEHelper < X > *   
)

◆  TupleDestructMember() [2/2]

Bool maxon::details::TupleDestructMember ( Generic &  x ,
SFINAEHelper < X & > *   
)

◆  TupleDestruct()

void maxon::details::TupleDestruct ( TUPLE &  tuple ,
std::index_sequence< I... > *   
)

◆  TupleCopyFrom() [1/2]

ResultOk <void> maxon::details::TupleCopyFrom ( )

◆  TupleCopyFrom() [2/2]

Result <void> maxon::details::TupleCopyFrom ( const T1 &  a1 ,
const T &...  rest  
)

◆  TupleToString() [1/2]

const String & maxon::details::TupleToString ( const FormatStatement fs )

◆  TupleToString() [2/2]

SFINAEHelper < String , T1>::type maxon::details::TupleToString ( const FormatStatement fs ,
const T1 &  a1 ,
const T &...  rest  
)

◆  TupleEquals() [1/2]

Bool maxon::details::TupleEquals ( )

◆  TupleEquals() [2/2]

Bool maxon::details::TupleEquals ( const T1 &  a1 ,
const T &...  rest  
)

◆  TupleLessThan() [1/2]

Bool maxon::details::TupleLessThan ( )

◆  TupleLessThan() [2/2]

Bool maxon::details::TupleLessThan ( const T1 &  a1 ,
const T &...  rest  
)

◆  TuplePair()

TupleStorage <T1&, const T2&> maxon::details::TuplePair ( T1 &  t1 ,
const T2 &  t2  
)

◆  ExpandSeqHelperConst()

auto maxon::details::ExpandSeqHelperConst ( const TUP &  tup ,
F &&  func ,
std::index_sequence< INDICES ... >   
) -> decltype(func( TupleGet <INDICES>(tup) ...))

◆  ExpandSeqHelper()

auto maxon::details::ExpandSeqHelper ( TUP &&  tup ,
F &&  func ,
std::index_sequence< INDICES ... >   
) -> decltype(func( TupleGet <INDICES>(std::forward<TUP>(tup)) ...))

◆  PrivateClearAllWeakReferences()

Bool maxon::details::PrivateClearAllWeakReferences ( const void *  obj )

Variable Documentation

◆  MAXON_ENUM_ORDERED_LIST_CLASS

struct maxon::details::MethodDelegateType < RESULT(*)(OBJECT *, ARGS...)> MAXON_ENUM_ORDERED_LIST_CLASS

◆  g_compareResultIncomparable

const COMPARERESULT g_compareResultIncomparable