15 #ifndef GEOS_FILEIO_TIMEHISTORY_HISTORYCOLLECTION_HPP_
16 #define GEOS_FILEIO_TIMEHISTORY_HISTORYCOLLECTION_HPP_
18 #include "dataRepository/BufferOpsDevice.hpp"
20 #include "events/tasks/TaskBase.hpp"
28 using namespace dataRepository;
40 TaskBase( name, parent )
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
virtual HistoryMetadata getMetaData(DomainPartition const &domain, localIndex collectionIdx) const =0
Get the metadata for what this collector collects.
virtual const string & getTargetName() const =0
Get the name of the object being targeted for collection.
void initializePostSubGroups() override
Forwarding public initializing function...
virtual localIndex numCollectors() const =0
Get the number of discrete collection operations this collector conducts.
std::function< buffer_unit_type *() > TimeBufferProvider
Type of time buffer provider.
virtual localIndex numMetaDataCollectors() const =0
Get the number of collectors of meta-information (set indices, etc) writing time-independent informat...
std::function< buffer_unit_type *(localIndex) > BufferProvider
Type of buffer provider.
virtual HistoryCollection & getMetaDataCollector(localIndex metaIdx)=0
Get a collector of meta-information for this collector.
virtual void registerBufferProvider(localIndex collectionIdx, BufferProvider bufferProvider)=0
Register a callback that provides the current head of the time history data buffer.
HistoryCollection(string const &name, Group *parent)
Constructor.
virtual HistoryMetadata getTimeMetaData() const =0
Get a metadata object relating the the Time variable itself.
virtual void registerTimeBufferProvider(TimeBufferProvider timeBufferProvider)=0
Register a callback that gives the current head of the time data buffer.
A minimal class to specify information about time history information being collected and output.
signed char buffer_unit_type
Type stored in communication buffers.
GEOSX_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).