InterfacesBlock< INTERFACES > Struct Template Reference

#include <objectbase.h>

Inheritance diagram for InterfacesBlock< INTERFACES >:

Static Public Attributes

static const InterfaceReference *const value [sizeof...(INTERFACES)]
 
- Static Public Attributes inherited from Block< const InterfaceReference *const >
static constexpr Bool GENERIC
 
static constexpr Bool CONSTBLOCK
 
static constexpr Bool BYTE_BLOCK
 
static constexpr Bool BYTE_OR_CHAR
 
- Static Public Attributes inherited from ArrayBase0< COLLECTION, VALUETYPE, SUPER, HASH >
static const COLLECTION_KIND KIND
 

Additional Inherited Members

- Public Types inherited from Block< const InterfaceReference *const >
using Super = ArrayBase< Block< const InterfaceReference *const, STRIDED, MOVE >, const InterfaceReference *const, BlockBase< const InterfaceReference *const, STRIDED >, DefaultCompare >
 
using StrideType = typename std::conditional< GENERIC, Char, const InterfaceReference *const >::type
 
using IsBlock = std::true_type
 
using Iterator = BaseIterator< Block, STRIDED >
 
using ConstIterator = BaseIterator< Block, STRIDED >
 
using SwapByteChar = typename std::conditional< std::is_same< const Byte, const const InterfaceReference *const >::value, Char, Byte >::type
 
- Public Types inherited from Collection< COLLECTION, VALUETYPE, SUPER >
using Super = BaseCollection< COLLECTION, SUPER >
 
using ValueType = VALUETYPE
 
- Public Types inherited from BaseCollection< COLLECTION, SUPER >
using IsCollection = std::true_type
 
using IsBaseArray = std::false_type
 
- Public Member Functions inherited from Block< const InterfaceReference *const >
 Block ()
 
constexpr Block (const InterfaceReference *const *ptr, Int size, Int stride=(STRIDED &&GENERIC) ? -1 :SIZEOF(StrideType))
 
 Block (Iterator start, Int size, Int stride=(STRIDED &&GENERIC) ? -1 :SIZEOF(StrideType))
 
MAXON_IMPLICIT Block (const InterfaceReference *const(&array)[N])
 
MAXON_IMPLICIT Block (const std::initializer_list< typename std::remove_const< const InterfaceReference *const >::type > &list)
 
 Block (ANY *ptr, Int size)
 
 Block (const Block< ANY > &src)
 
MAXON_IMPLICIT Block (ANY(&array)[N])
 
 Block (const Block &src)=default
 
Blockoperator= (const Block &src)=default
 
Result< void > CopyFrom (const Block &src)=delete
 
 operator ArrayImpl< Block & > ()=delete
 
 operator ArrayImpl< const Block & > () const=delete
 
Int GetStride () const
 
Bool IsStrided () const
 
void Set (const InterfaceReference *const *ptr, Int size, Int stride=(STRIDED &&GENERIC) ? -1 :SIZEOF(StrideType))
 
void Reset ()
 
 operator typename std::conditional< STRIDED, DeleteReturnType01, Block< const InterfaceReference *const, true, MOVE >>::type () const
 
 operator typename std::conditional< STRIDED||CONSTBLOCK, DeleteReturnType02, Block< const const InterfaceReference *const, true, MOVE >>::type () const
 
 operator typename std::conditional< CONSTBLOCK, DeleteReturnType03, const Block< const const InterfaceReference *const, STRIDED, MOVE > & >::type () const
 
 operator typename std::conditional< STRIDED||!MOVE, DeleteReturnType04, Block< const InterfaceReference *const, true, false >>::type () const
 
 operator typename std::conditional< STRIDED||!MOVE||CONSTBLOCK, DeleteReturnType05, Block< const const InterfaceReference *const, true, false >>::type () const
 
 operator typename std::conditional<!MOVE||CONSTBLOCK, DeleteReturnType06, const Block< const const InterfaceReference *const, STRIDED, false > & >::type () const
 
 operator typename std::conditional<!MOVE, DeleteReturnType07, const Block< const InterfaceReference *const, STRIDED, false > & >::type () const
 
 operator typename std::conditional< GENERIC, DeleteReturnType08, const Block< typename InheritConst< Generic, const InterfaceReference *const >::type, STRIDED > & >::type () const
 
 operator typename std::conditional< BYTE_OR_CHAR, const Block< typename InheritConst< SwapByteChar, const InterfaceReference *const >::type, STRIDED >, DeleteReturnType09 >::type & () const
 
 operator typename std::conditional< BYTE_OR_CHAR &&!CONSTBLOCK, const Block< const SwapByteChar, STRIDED >, const DeleteReturnType09 >::type & () const
 
const InterfaceReference *const * GetFirst () const
 
void SetFirst (const InterfaceReference *const *value)
 
const InterfaceReference *const * GetLast () const
 
const InterfaceReference *const & operator[] (Int index) const
 
Block Slice (Int start) const
 
Block Slice (Int start, Int end) const
 
Bool StartsWith (const Block &prefix) const
 
Bool EndsWith (const Block &suffix) const
 
Iterator Begin () const
 
Iterator End () const
 
Int GetCapacityCount () const
 
Result< void > CopyValuesFrom (const Block< T2, S2, M2 > &other)
 
Result< void > CopyValuesFrom (const COLLECTION &other)
 
Result< void > ConstructValuesFrom (const Block< T2, S2, M2 > &other)
 
Int GetMemorySize () const
 
Int GetBlock (Int index, Block< const const InterfaceReference *const, false > &block) const
 
Int GetBlock (Int index, typename std::conditional< CONSTBLOCK, DeleteReturnType01, Block< const InterfaceReference *const, false > & >::type block) const
 
Int GetBlock (Int index, typename std::conditional< CONSTBLOCK, DeleteReturnType02, StridedBlock< const InterfaceReference *const > & >::type block) const
 
Int GetBlock (Int index, StridedBlock< const const InterfaceReference *const > &block) const
 
UniqueHash GetUniqueHashCode () const
 
void CombineUniqueHash (UniqueHasher &hash) const
 
std::enable_if<!STRIDED &&std::is_same< BLOCK, Block >::value, Bool >::type IsEqualImpl (const BLOCK &other, COMPARE &&cmp, OverloadRank1) const
 
const InterfaceReference *const * GetPtr (Int index) const
 
- Public Member Functions inherited from ArrayBase< Block< const InterfaceReference *const, STRIDED, MOVE >, const InterfaceReference *const, BlockBase< const InterfaceReference *const, STRIDED >, DefaultCompare >
constexpr MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase (ARGS &&... args)
 
ArrayImpl< Block< const InterfaceReference *const, STRIDED, MOVE > & > ToArray ()
 
ArrayImpl< const Block< const InterfaceReference *const, STRIDED, MOVE > & > ToArray () const
 
MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< Block< const InterfaceReference *const, STRIDED, MOVE > & > ()
 
MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< const Block< const InterfaceReference *const, STRIDED, MOVE > & > () const
 
- Public Member Functions inherited from ArrayBase0< COLLECTION, VALUETYPE, SUPER, HASH >
template<typename... ARGS>
constexpr MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase0 (ARGS &&... args)
 
Bool IsValidIndex (Int index) const
 
Result< void > CheckValidIndex (Int index) const
 
Int FindIndex (typename ByValueParam< VALUETYPE >::type v, Int start) const
 
Int FindLastIndex (typename ByValueParam< VALUETYPE >::type v) const
 
Int FindLastIndex (typename ByValueParam< VALUETYPE >::type v, Int start) const
 
Bool EraseFirst (typename ByValueParam< VALUETYPE >::type v)
 
Int EraseAll (typename ByValueParam< VALUETYPE >::type v)
 
template<typename COLLECTION2 >
Result< void > AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0)
 
template<typename COLLECTION2 >
Result< void > InsertAll (Int index, COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
template<typename COLLECTION2 >
Result< void > Add (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
template<typename COLLECTION2 >
Result< void > SubtractImpl (COLLECTION2 &&other, OverloadRank0)
 
template<typename COLLECTION2 , typename COMPARE >
Bool IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const
 
HashInt GetHashCode () const
 
UniqueHash GetUniqueHashCode () const
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< COLLECTION > Slice (Int start)
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const COLLECTION > Slice (Int start) const
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< COLLECTION > Slice (Int start, Int end)
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const COLLECTION > Slice (Int start, Int end) const
 
BlockIterator< COLLECTION, VALUETYPE, false, false > GetBlocks ()
 
BlockIterator< COLLECTION, VALUETYPE, true, false > GetBlocks () const
 
BlockIterator< COLLECTION, VALUETYPE, false, true > GetStridedBlocks ()
 
BlockIterator< COLLECTION, VALUETYPE, true, true > GetStridedBlocks () const
 
- Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE Collection (ARGS &&... args)
 
ResultOk< void > VariadicAppend ()
 
template<typename V , typename... VALUES>
Result< void > VariadicAppend (V &&value, VALUES &&... rest)
 
 operator ValueReceiver< const VALUETYPE & > ()
 
 operator ValueReceiver< VALUETYPE && > ()
 
 operator ValueReceiver< typename std::conditional< STD_IS_REPLACEMENT (scalar, VALUETYPE)
 
DummyParamType & type ()
 
template<typename FN >
Result< BoolForEach (FN &&callback) const
 
template<typename FN >
Result< BoolForEach (FN &&callback)
 
template<typename H = COLLECTION>
H::Iterator Find (typename ByValueParam< VALUETYPE >::type v)
 
template<typename H = COLLECTION>
H::ConstIterator Find (typename ByValueParam< VALUETYPE >::type v) const
 
Int FindIndex (typename ByValueParam< VALUETYPE >::type v) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool Contains (typename ByValueParam< VALUETYPE >::type v) const
 
- Public Member Functions inherited from BaseCollection< COLLECTION, SUPER >
template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE BaseCollection (ARGS &&... args)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator== (const COLLECTION2 &other) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator!= (const COLLECTION2 &other) const
 
template<typename COMPARE = EqualityCompare, typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value &&!STD_IS_REPLACEMENT(same, typename std::decay< COMPARE >::type, EQUALITY), Bool >::type IsEqual (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Subtract (COLLECTION2 &&other)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Intersect (const COLLECTION2 &other)
 
template<typename COLLECTION2 >
Bool Intersects (const COLLECTION2 &other) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFromImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank0)
 
template<typename COLLECTION2 >
Result< void > AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0)
 
template<typename COLLECTION2 >
Result< void > IntersectImpl (COLLECTION2 &&other, OverloadRank0)
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsEmpty () const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsPopulated () const
 
String ToString (const FormatStatement *formatStatement=nullptr) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Bool ContainsAll (COLLECTION2 &&other) const
 
template<typename COLLECTION2 >
Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
 
- Static Public Member Functions inherited from Block< const InterfaceReference *const >
static const BlockNullValueRef ()
 
- Static Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
static const VALUETYPEGetMapKey (const VALUETYPE &key)
 
- Public Attributes inherited from Collection< COLLECTION, VALUETYPE, SUPER >
 VALUETYPE