TP_PGroupArray Class Reference

#include <c4d_particles.h>

Inheritance diagram for TP_PGroupArray:

Detailed Description

Public Member Functions

 TP_PGroupArray ()
 
 TP_PGroupArray (TP_PGroupArray &&src)
 
Bool CopyTo (TP_PGroupArray *dest) const
 
TP_PGroupGetIndex (Int i) const
 
- Public Member Functions inherited from BaseArray< TP_PGroup * >
MAXON_ATTRIBUTE_FORCE_INLINE BaseArray ()
 
MAXON_ATTRIBUTE_FORCE_INLINE BaseArray (const DefaultAllocator &a)
 
MAXON_ATTRIBUTE_FORCE_INLINE BaseArray (DefaultAllocator &&a)
 
MAXON_ATTRIBUTE_FORCE_INLINE BaseArray (BaseArray &&src)
 
MAXON_ATTRIBUTE_FORCE_INLINE ~BaseArray ()
 
 MAXON_OPERATOR_MOVE_ASSIGNMENT (BaseArray)
 
const Block< const TP_PGroup * > & ToBlock () const
 
const Block< TP_PGroup * > & ToBlock ()
 
 operator const Block< const TP_PGroup * > & () const
 
 operator const Block< TP_PGroup * > & ()
 
 operator StridedBlock< const TP_PGroup * > () const
 
 operator StridedBlock< TP_PGroup * > ()
 
 operator Block< const Byte > () const
 
 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 TP_PGroup * & operator[] (Int idx) const
 
MAXON_ATTRIBUTE_FORCE_INLINE TP_PGroup * & operator[] (Int idx)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< TP_PGroup * > Append (ARG &&x)
 
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< sizeof...(ARGS) !=1, ResultRef< TP_PGroup * > >::type Append (ARGS &&... args)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (Block< typename std::remove_const< TP_PGroup * >::type > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (Block< const TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (const Block< typename std::remove_const< TP_PGroup * >::type > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (const Block< const TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (Block< typename std::remove_const< TP_PGroup * >::type > &&values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (Block< const TP_PGroup * > &&values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (MoveBlock< TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (const MoveBlock< TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (MoveBlock< TP_PGroup * > &&values)
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (typename std::remove_const< TP_PGroup * >::type(&array)[N])
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (const TP_PGroup *(&array)[N])
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (BaseArray< TP_PGroup *, CS, MF, A > &a)
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (const BaseArray< TP_PGroup *, CS, MF, A > &a)
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (BaseArray< TP_PGroup *, CS, MF, A > &&a)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Append (const std::initializer_list< TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > AppendBlock (const Block< const TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > AppendBlock (const MoveBlock< TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< TP_PGroup * > Insert (Int position, ARG &&x)
 
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< sizeof...(ARGS) !=1, ResultRef< TP_PGroup * > >::type Insert (Int position, ARGS &&... args)
 
ResultPtr< TP_PGroup * > Insert (Int position, Block< typename std::remove_const< TP_PGroup * >::type > &values)
 
ResultPtr< TP_PGroup * > Insert (Int position, Block< const TP_PGroup * > &values)
 
ResultPtr< TP_PGroup * > Insert (Int position, const Block< typename std::remove_const< TP_PGroup * >::type > &values)
 
ResultPtr< TP_PGroup * > Insert (Int position, const Block< const TP_PGroup * > &values)
 
ResultPtr< TP_PGroup * > Insert (Int position, Block< typename std::remove_const< TP_PGroup * >::type > &&values)
 
ResultPtr< TP_PGroup * > Insert (Int position, Block< const TP_PGroup * > &&values)
 
ResultPtr< TP_PGroup * > Insert (Int position, MoveBlock< TP_PGroup * > &values)
 
ResultPtr< TP_PGroup * > Insert (Int position, const MoveBlock< TP_PGroup * > &values)
 
ResultPtr< TP_PGroup * > Insert (Int position, MoveBlock< TP_PGroup * > &&values)
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Insert (Int position, BaseArray< TP_PGroup *, CS, MF, A > &a)
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Insert (Int position, const BaseArray< TP_PGroup *, CS, MF, A > &a)
 
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< TP_PGroup * > Insert (Int position, BaseArray< TP_PGroup *, CS, MF, A > &&a)
 
ResultPtr< TP_PGroup * > Insert (Int position, const std::initializer_list< TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< IteratorInsert (Iterator position, ARGS &&... args)
 
ResultPtr< TP_PGroup * > InsertBlock (Int position, const Block< const TP_PGroup * > &values)
 
ResultPtr< TP_PGroup * > InsertBlock (Int position, const MoveBlock< TP_PGroup * > &values)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< IteratorInsertBlock (Iterator position, ARGS &&... args)
 
ResultPtr< TP_PGroup * > 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)
 
MAXON_ATTRIBUTE_FORCE_INLINE Int GetBlock (Int position, Block< const TP_PGroup *, STRIDED > &block) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Int GetBlock (Int position, Block< TP_PGroup *, STRIDED > &block)
 
MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator GetBlock (ConstIterator position, Block< const TP_PGroup *, STRIDED > &block) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Iterator GetBlock (Iterator position, Block< TP_PGroup *, STRIDED > &block)
 
MAXON_ATTRIBUTE_FORCE_INLINE const TP_PGroup * * GetFirst () const
 
MAXON_ATTRIBUTE_FORCE_INLINE TP_PGroup * * GetFirst ()
 
MAXON_ATTRIBUTE_FORCE_INLINE const TP_PGroup * * GetLast () const
 
MAXON_ATTRIBUTE_FORCE_INLINE TP_PGroup * * GetLast ()
 
ResultMem Resize (Int newCnt, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT)
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool Pop (TP_PGroup * *dst=nullptr)
 
MAXON_ATTRIBUTE_FORCE_INLINE Int GetIndex (const TP_PGroup * &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)
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAllImpl (BASEARRAY &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank1)
 
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< TP_PGroup *, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > &dst, Int position, Int moveCnt)
 
MAXON_ATTRIBUTE_FORCE_INLINE Block< TP_PGroup * > Disconnect ()
 
MAXON_ATTRIBUTE_FORCE_INLINE void Connect (const Block< TP_PGroup * > &block, Int capacity=0)
 
MAXON_ATTRIBUTE_FORCE_INLINE DefaultAllocatorGetAllocator ()
 
MAXON_ATTRIBUTE_FORCE_INLINE const DefaultAllocatorGetAllocator () const
 
UniqueHash GetUniqueHashCode () const
 
- Public Member Functions inherited from ArrayBase< COLLECTION, VALUETYPE, SUPER, HASH >
template<typename... ARGS>
constexpr MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase (ARGS &&... args)
 
ArrayImpl< COLLECTION & > ToArray ()
 
ArrayImpl< const COLLECTION & > ToArray () const
 
MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< COLLECTION & > ()
 
MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< const COLLECTION & > () 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
 

Additional Inherited Members

- Public Types inherited from BaseArray< TP_PGroup * >
using IsBaseArray = std::true_type
 
using AllocatorType = DefaultAllocator
 
using Iterator = BaseIterator< BaseArray, false >
 
using ConstIterator = BaseIterator< const BaseArray, false >
 
using Super = ArrayBase< BaseArray< TP_PGroup *, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, TP_PGroup *, BaseArrayData< TP_PGroup *, DefaultAllocator, STD_IS_REPLACEMENT(empty, DefaultAllocator)>, 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
 
- 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
 
- Static Public Attributes inherited from ArrayBase0< COLLECTION, VALUETYPE, SUPER, HASH >
static const COLLECTION_KIND KIND
 

Constructor & Destructor Documentation

◆ TP_PGroupArray() [1/2]

◆ TP_PGroupArray() [2/2]

Member Function Documentation

◆ CopyTo()

Bool CopyTo ( TP_PGroupArray dest) const

Copies the TP_PGroupArray to another TP_PGroupArray.

Parameters
[out]destThe destination TP_PGroupArray. The caller owns the pointed TP_PGroupArray.
Returns
true if successful, otherwise false.

◆ GetIndex()

TP_PGroup* GetIndex ( Int  i) const

Retrieves a TP_PGroup by index.

Parameters
[in]iThe index.
Returns
The TP_PGroup, or nullptr if i is out of range.