Open Search
    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)
     
    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 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, COMPARERESULT >::type Compare (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
     
    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
     
    template<typename COLLECTION2 , typename COMPARE >
    COMPARERESULT CompareImpl (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 BlockDefaultValueRef ()
     
    - 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