4#include <Foundation/Basics.h>
5#include <Foundation/Communication/Event.h>
6#include <Foundation/Containers/HybridArray.h>
7#include <Foundation/DataProcessing/Stream/ProcessingStream.h>
15 plUInt64 m_uiElementIndex;
44 void ClearProcessors();
57 void SetSize(plUInt64 uiNumElements);
61 void RemoveElement(plUInt64 uiElementIndex);
65 void InitializeElements(plUInt64 uiNumElements);
84 void RunPendingDeletions();
86 void EnsureStreamAssignmentValid();
88 void RunPendingSpawns();
90 void SortProcessorsByPriority();
98 plUInt64 m_uiPendingNumberOfElementsToSpawn;
100 plUInt64 m_uiNumElements;
102 plUInt64 m_uiNumActiveElements;
104 plUInt64 m_uiHighestNumActiveElements;
106 bool m_bStreamAssignmentDirty;
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
A stream group encapsulates the streams and the corresponding data processors.
Definition ProcessingStreamGroup.h:25
plEvent< const plStreamGroupElementRemovedEvent & > m_ElementRemovedEvent
Subscribe to this event to be informed when (shortly before) items are deleted.
Definition ProcessingStreamGroup.h:80
plUInt64 GetNumActiveElements() const
Returns the number of currently active elements.
Definition ProcessingStreamGroup.h:74
plUInt64 GetNumElements() const
Returns the number of elements the streams store.
Definition ProcessingStreamGroup.h:71
plUInt64 GetHighestNumActiveElements() const
Returns the highest number of active elements since the last SetSize() call.
Definition ProcessingStreamGroup.h:77
A single stream in a stream group holding contiguous data of a given type.
Definition ProcessingStream.h:8
DataType
The data types which can be stored in the stream. When adding new data types the GetDataTypeSize() of...
Definition ProcessingStream.h:13
Base class for all stream processor implementations.
Definition ProcessingStreamProcessor.h:11
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Definition ProcessingStreamGroup.h:13
Definition ProcessingStreamGroup.h:19