Open Search
    KDStackArray Struct Reference

    #include <kdtree.h>

    Inheritance diagram for KDStackArray:

    Public Attributes

    Char avoidMpCachelineInterference [64]
     
    - Public Attributes inherited from Collection< COLLECTION, VALUETYPE, SUPER >
     VALUETYPE
     

    Additional Inherited Members

    - Public Types inherited from BaseArray< T, MINCHUNKSIZE, MEMFLAGS, ALLOCATOR >
    using IsBaseArray = std::true_type
     
    using AllocatorType = ALLOCATOR
     
    using Iterator = BaseIterator< BaseArray, false >
     
    using ConstIterator = BaseIterator< const BaseArray, false >
     
    using Super = ArrayBase< BaseArray< T, MINCHUNKSIZE, MEMFLAGS, ALLOCATOR >, T, BaseArrayData< T, MEMFLAGS, ALLOCATOR, STD_IS_REPLACEMENT(empty, ALLOCATOR)>, DefaultCompare >
     
    - 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 PerformanceBaseArray< KDTreeNode * >
     PerformanceBaseArray ()
     
    KDTreeNode * * UnsafeAppend ()
     
    KDTreeNode * * UnsafeAppend (const KDTreeNode * &x)
     
    KDTreeNode * * UnsafeAppend (KDTreeNode * &&x)
     
    - Public Member Functions inherited from BaseArray< T, MINCHUNKSIZE, MEMFLAGS, ALLOCATOR >
    MAXON_ATTRIBUTE_FORCE_INLINE BaseArray ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE BaseArray (const ALLOCATOR &a)
     
    MAXON_ATTRIBUTE_FORCE_INLINE BaseArray (ALLOCATOR &&a)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ~BaseArray ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE BaseArray (BaseArray &&src)
     
     MAXON_OPERATOR_MOVE_ASSIGNMENT (BaseArray)
     
    const Block< const T > & ToBlock () const
     
    const Block< const T > & ToConstBlock () const
     
    const Block< T > & ToBlock ()
     
     operator const Block< const T > & () const
     
     operator const Block< T > & ()
     
     operator StridedBlock< const T > () const
     
     operator StridedBlock< T > ()
     
    template<typename DUMMY = T, typename = typename std::enable_if<STD_IS_REPLACEMENT(scalar, DUMMY)>::type>
     operator Block< const Byte > () const
     
    template<typename DUMMY = T, typename = typename std::enable_if<STD_IS_REPLACEMENT(scalar, DUMMY)>::type>
     operator Block< Byte > ()
     
    void Reset ()
     
    void Flush ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE Int GetCount () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE Int GetCapacityCount () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE const T & operator[] (Int idx) const
     
    MAXON_ATTRIBUTE_FORCE_INLINE T & operator[] (Int idx)
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< T > Append (ARG &&x)
     
    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< sizeof...(ARGS) !=1, ResultRef< T > >::type Append (ARGS &&... args)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > AppendBlock (const Block< const T > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > AppendBlock (const MoveBlock< T > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (Block< typename std::remove_const< T >::type > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (Block< const T > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (const Block< typename std::remove_const< T >::type > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (const Block< const T > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (Block< typename std::remove_const< T >::type > &&values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (Block< const T > &&values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (MoveBlock< T > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (const MoveBlock< T > &values)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (MoveBlock< T > &&values)
     
    template<Int N>
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (typename std::remove_const< T >::type(&array)[N])
     
    template<Int N>
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (const T(&array)[N])
     
    template<Int CS, BASEARRAYFLAGS MF, typename A >
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (BaseArray< T, CS, MF, A > &a)
     
    template<Int CS, BASEARRAYFLAGS MF, typename A >
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (const BaseArray< T, CS, MF, A > &a)
     
    template<Int CS, BASEARRAYFLAGS MF, typename A >
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (BaseArray< T, CS, MF, A > &&a)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Append (const std::initializer_list< T > &values)
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< T > Insert (Int position, ARG &&x)
     
    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< sizeof...(ARGS) !=1, ResultRef< T > >::type Insert (Int position, ARGS &&... args)
     
    ResultPtr< T > Insert (Int position, Block< typename std::remove_const< T >::type > &values)
     
    ResultPtr< T > Insert (Int position, Block< const T > &values)
     
    ResultPtr< T > Insert (Int position, const Block< typename std::remove_const< T >::type > &values)
     
    ResultPtr< T > Insert (Int position, const Block< const T > &values)
     
    ResultPtr< T > Insert (Int position, Block< typename std::remove_const< T >::type > &&values)
     
    ResultPtr< T > Insert (Int position, Block< const T > &&values)
     
    ResultPtr< T > Insert (Int position, MoveBlock< T > &values)
     
    ResultPtr< T > Insert (Int position, const MoveBlock< T > &values)
     
    ResultPtr< T > Insert (Int position, MoveBlock< T > &&values)
     
    template<Int CS, BASEARRAYFLAGS MF, typename A >
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Insert (Int position, BaseArray< T, CS, MF, A > &a)
     
    template<Int CS, BASEARRAYFLAGS MF, typename A >
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Insert (Int position, const BaseArray< T, CS, MF, A > &a)
     
    template<Int CS, BASEARRAYFLAGS MF, typename A >
    MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > Insert (Int position, BaseArray< T, CS, MF, A > &&a)
     
    ResultPtr< T > InsertBlock (Int position, const Block< const T > &values)
     
    ResultPtr< T > Insert (Int position, const std::initializer_list< T > &values)
     
    ResultPtr< T > InsertBlock (Int position, const MoveBlock< T > &values)
     
    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< IteratorInsertBlock (Iterator position, ARGS &&... args)
     
    template<typename... ARGS>
    MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< IteratorInsert (Iterator position, ARGS &&... args)
     
    ResultPtr< T > Erase (Int position, Int eraseCnt=1)
     
    Iterator Erase (Iterator position, Int eraseCnt=1)
     
    ResultMem SwapErase (Int position, Int eraseCnt=1)
     
    Iterator SwapErase (Iterator position, Int eraseCnt=1)
     
    template<Bool STRIDED>
    MAXON_ATTRIBUTE_FORCE_INLINE Int GetBlock (Int position, Block< const T, STRIDED > &block) const
     
    template<Bool STRIDED>
    MAXON_ATTRIBUTE_FORCE_INLINE Int GetBlock (Int position, Block< T, STRIDED > &block)
     
    template<Bool STRIDED>
    MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator GetBlock (ConstIterator position, Block< const T, STRIDED > &block) const
     
    template<Bool STRIDED>
    MAXON_ATTRIBUTE_FORCE_INLINE Iterator GetBlock (Iterator position, Block< T, STRIDED > &block)
     
    MAXON_ATTRIBUTE_FORCE_INLINE const T * GetFirst () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE T * GetFirst ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE const T * GetLast () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE T * GetLast ()
     
    ResultMem Resize (Int newCnt, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT)
     
    MAXON_ATTRIBUTE_FORCE_INLINE Bool Pop (T *dst=nullptr)
     
    MAXON_ATTRIBUTE_FORCE_INLINE Int GetIndex (const T &x) const
     
    ResultMem EnsureCapacity (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
     
    ResultMem SetCapacityHint (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
     
    template<typename BASEARRAY , typename = typename std::enable_if<STD_IS_REPLACEMENT(same, typename std::decay<BASEARRAY>::type, BaseArray)>::type>
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAllImpl (BASEARRAY &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank1)
     
    template<typename BLOCK , typename = typename std::enable_if<STD_IS_REPLACEMENT(same, typename std::decay<BLOCK>::type, Block<T>) || STD_IS_REPLACEMENT(same, typename std::decay<BLOCK>::type, Block<const T>)>::type>
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAllImpl (BLOCK &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank2)
     
    MAXON_ATTRIBUTE_FORCE_INLINE void Swap (Iterator a, Iterator b)
     
    Int GetMemorySize () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator Begin () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE Iterator Begin ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator End () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE Iterator End ()
     
    ResultMem MoveAndShrink (BaseArray< T, MINCHUNKSIZE, MEMFLAGS, ALLOCATOR > &dst, Int position, Int moveCnt)
     
    MAXON_ATTRIBUTE_FORCE_INLINE Block< T > Disconnect ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE void Connect (const Block< T > &block, Int capacity=0)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ALLOCATOR & GetAllocator ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE const ALLOCATOR & GetAllocator () const
     
    UniqueHash GetUniqueHashCode () const
     
    - Public Member Functions inherited from ArrayBase< BaseArray< T, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, T, BaseArrayData< T, BASEARRAYFLAGS::NONE, DefaultAllocator, STD_IS_REPLACEMENT(empty, DefaultAllocator)>, DefaultCompare >
    constexpr MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase (ARGS &&... args)
     
    ArrayImpl< BaseArray< T, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > ToArray ()
     
    ArrayImpl< const BaseArray< T, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > ToArray () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< BaseArray< T, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< const BaseArray< T, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > () 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 Collection< COLLECTION, VALUETYPE, SUPER >
    static const VALUETYPEGetMapKey (const VALUETYPE &key)
     
    - Static Public Attributes inherited from ArrayBase0< COLLECTION, VALUETYPE, SUPER, HASH >
    static const COLLECTION_KIND KIND
     

    Member Data Documentation

    ◆ avoidMpCachelineInterference

    Char avoidMpCachelineInterference[64]