26 #include "openPMD/Dataset.hpp" 36 template<
typename T >
40 Extent::value_type m_numberOfItems;
44 explicit DatasetFiller( Extent::value_type numberOfItems = 0 );
66 template<
typename T >
68 m_numberOfItems( numberOfItems )
72 template<
typename DF >
76 using resultType =
typename DF::resultType;
78 std::shared_ptr< DF > m_df;
87 std::shared_ptr< DatasetFiller< T>> operator()( std::shared_ptr<DF> & )
89 throw std::runtime_error(
90 "Can only create data of type " +
91 datatypeToString( determineDatatype< resultType >( ) )
96 template<
typename Dummy >
102 std::shared_ptr< DatasetFiller< resultType>> operator()(std::shared_ptr<DF> &df )
112 m_df { std::make_shared< DF >( std::move( df ) ) }
116 template<
typename T >
117 std::shared_ptr< DatasetFiller< T >> operator()( )
virtual std::shared_ptr< T > produceData()=0
Create a shared pointer of m_numberOfItems items of type T.
An abstract class to create one iteration of data per thread.
Definition: DatasetFiller.hpp:37
virtual ~DatasetFiller()=default
This class will be derived from.
Definition: DatasetFiller.hpp:73
Public definitions of openPMD-api.
Definition: Date.cpp:29
virtual void setNumberOfItems(Extent::value_type numberOfItems)=0
Set number of items to be produced.