GEOSX
Public Types | Public Member Functions | List of all members
geos::HistoryCollection Class Referenceabstract

#include <HistoryCollection.hpp>

Inheritance diagram for geos::HistoryCollection:
Inheritance graph
[legend]

Public Types

using BufferProvider = std::function< buffer_unit_type *(localIndex) >
 Type of buffer provider.
 
using TimeBufferProvider = std::function< buffer_unit_type *() >
 Type of time buffer provider.
 

Public Member Functions

 HistoryCollection (string const &name, Group *parent)
 Constructor. More...
 
void initializePostSubGroups () override
 Forwarding public initializing function...
 
virtual localIndex numCollectors () const =0
 Get the number of discrete collection operations this collector conducts. More...
 
virtual HistoryMetadata getMetaData (DomainPartition const &domain, localIndex collectionIdx) const =0
 Get the metadata for what this collector collects. More...
 
virtual const stringgetTargetName () const =0
 Get the name of the object being targeted for collection. More...
 
virtual void registerBufferProvider (localIndex collectionIdx, BufferProvider bufferProvider)=0
 Register a callback that provides the current head of the time history data buffer. More...
 
virtual HistoryMetadata getTimeMetaData () const =0
 Get a metadata object relating the the Time variable itself. More...
 
virtual void registerTimeBufferProvider (TimeBufferProvider timeBufferProvider)=0
 Register a callback that gives the current head of the time data buffer. More...
 
virtual localIndex numMetaDataCollectors () const =0
 Get the number of collectors of meta-information (set indices, etc) writing time-independent information during initialization. More...
 
virtual HistoryCollectiongetMetaDataCollector (localIndex metaIdx)=0
 Get a collector of meta-information for this collector. More...
 

Detailed Description

A task class for serializing time history data into a buffer for later I/O.

Definition at line 35 of file HistoryCollection.hpp.

Constructor & Destructor Documentation

◆ HistoryCollection()

geos::HistoryCollection::HistoryCollection ( string const &  name,
Group parent 
)
inline

Constructor.

Parameters
nameThe name of this Group.
parentThe parent Group.

Definition at line 39 of file HistoryCollection.hpp.

Member Function Documentation

◆ getMetaData()

virtual HistoryMetadata geos::HistoryCollection::getMetaData ( DomainPartition const &  domain,
localIndex  collectionIdx 
) const
pure virtual

Get the metadata for what this collector collects.

Parameters
[in]domainThe DomainPartition.
[in]collectionIdxWhich collected item to get metadata for.
Returns
A HistoryMetadata object describing the history data being collected by this collector.

Implemented in geos::PackCollection.

◆ getMetaDataCollector()

virtual HistoryCollection& geos::HistoryCollection::getMetaDataCollector ( localIndex  metaIdx)
pure virtual

Get a collector of meta-information for this collector.

Parameters
[in]metaIdxWhich of the meta-info collectors to return. (see HistoryCollection::numMetaDataCollectors()).
Returns
A mutable reference.

Implemented in geos::HistoryCollectionBase.

◆ getTargetName()

virtual const string& geos::HistoryCollection::getTargetName ( ) const
pure virtual

Get the name of the object being targeted for collection.

Returns
The collection target's name

Implemented in geos::PackCollection.

◆ getTimeMetaData()

virtual HistoryMetadata geos::HistoryCollection::getTimeMetaData ( ) const
pure virtual

Get a metadata object relating the the Time variable itself.

Returns
A HistroyMetadata object describing the Time variable.

Implemented in geos::HistoryCollectionBase.

◆ numCollectors()

virtual localIndex geos::HistoryCollection::numCollectors ( ) const
pure virtual

Get the number of discrete collection operations this collector conducts.

Returns
The number of collection operations for this collector.

Implemented in geos::HistoryCollectionBase.

◆ numMetaDataCollectors()

virtual localIndex geos::HistoryCollection::numMetaDataCollectors ( ) const
pure virtual

Get the number of collectors of meta-information (set indices, etc) writing time-independent information during initialization.

Returns
The number of collectors of meta-information for this collector.

Implemented in geos::PackCollection.

◆ registerBufferProvider()

virtual void geos::HistoryCollection::registerBufferProvider ( localIndex  collectionIdx,
BufferProvider  bufferProvider 
)
pure virtual

Register a callback that provides the current head of the time history data buffer.

Parameters
[in]collectionIdxWhich collection item to register the buffer callback for.
[in]bufferProviderA functional that when invoked returns a pointer to the head of a buffer at least large enough to serialize one time step of history data into.
Note
This is typically meant to callback to BufferedHistoryIO::getBufferHead()

Implemented in geos::HistoryCollectionBase.

◆ registerTimeBufferProvider()

virtual void geos::HistoryCollection::registerTimeBufferProvider ( TimeBufferProvider  timeBufferProvider)
pure virtual

Register a callback that gives the current head of the time data buffer.

Parameters
[in]timeBufferProviderA functional that when invoked returns a pointer to the head of a buffer at least large enough to serialize one instance of the Time variable into.
Note
This is typically meant to callback to BufferedHistoryIO::GetBufferHead()

Implemented in geos::HistoryCollectionBase.


The documentation for this class was generated from the following file: