1 #ifndef UTOPIA_DATAIO_DATA_MANAGER_WRITE_TASK_HH
2 #define UTOPIA_DATAIO_DATA_MANAGER_WRITE_TASK_HH
5 #include "../../core/metaprogramming.hh"
6 #include "../../core/type_traits.hh"
9 #include "../hdfdataset.hh"
10 #include "../hdfgroup.hh"
48 template <
class BGB,
class DW,
class DB,
class AWG,
class AWD >
169 template <
typename Basegroupbuilder,
171 typename Buildertype,
172 typename AWritertypeG,
173 typename AWritertypeD >
238 template <
class BGB,
class DW,
class DB,
class AWG,
class AWD >
247 template <
typename Basegroupbuilder,
249 typename Buildertype,
250 typename AWritertypeG,
251 typename AWritertypeD >
257 ->WriteTask< std::decay_t< Basegroupbuilder >,
258 std::decay_t< Writertype >,
259 std::decay_t< Buildertype >,
260 std::decay_t< AWritertypeG >,
261 std::decay_t< AWritertypeD > >;
void swap(WriteTask< BGB, DW, DB, AWG, AWD > &lhs, WriteTask< BGB, DW, DB, AWG, AWD > &rhs)
Swaps the state of lhs and rhs.
Definition: write_task.hh:240
WriteTask(Basegroupbuilder &&bgb, Writertype &&w, Buildertype &&b, AWritertypeG &&ad, AWritertypeD &&ag) -> WriteTask< std::decay_t< Basegroupbuilder >, std::decay_t< Writertype >, std::decay_t< Buildertype >, std::decay_t< AWritertypeG >, std::decay_t< AWritertypeD > >
Encapsulate a task for writing data to a destination. Containes a callable 'writer' responisible for ...
Definition: write_task.hh:50
WriteTask(const WriteTask &other)=default
Writer write_data
Callable to write data.
Definition: write_task.hh:75
WriteTask()=default
Construct a new writer Task object.
std::shared_ptr< HDFDataset > active_dataset
pointer to the dataset which is currently active
Definition: write_task.hh:70
std::string get_base_path()
Get the path to the base group object.
Definition: write_task.hh:117
AWD AttributeWriterDataset
Definition: write_task.hh:55
BasegroupBuilder build_basegroup
Function building a base group.
Definition: write_task.hh:60
WriteTask(WriteTask &&other)=default
Construct a new writer Task object.
AWG AttributeWriterGroup
Definition: write_task.hh:54
WriteTask(Basegroupbuilder &&bgb, Writertype &&w, Buildertype &&b, AWritertypeG &&ag, AWritertypeD &&ad)
Construct a new Write Task object.
Definition: write_task.hh:174
WriteTask & operator=(const WriteTask &other)=default
Copy assign caller from 'other'.
Builder build_dataset
Callable to build new dataset.
Definition: write_task.hh:80
std::string get_active_path()
Get the path of active dataset relative to the base_group.
Definition: write_task.hh:99
void swap(WriteTask &other)
Swap the state of the caller with 'other'.
Definition: write_task.hh:135
BGB BasegroupBuilder
Definition: write_task.hh:51
std::shared_ptr< HDFGroup > base_group
pointer to the hdfgroup in which all produced datasets live.
Definition: write_task.hh:65
AttributeWriterDataset write_attribute_active_dataset
Callable to write attributes to dataset; invoked after task write.
Definition: write_task.hh:85
WriteTask & operator=(WriteTask &&other)=default
Move assign from 'other'.
~WriteTask()=default
Destroy the writer Task object.
DB Builder
Definition: write_task.hh:53
DW Writer
Definition: write_task.hh:52
AttributeWriterGroup write_attribute_basegroup
Callabel to write attributes to base group, invoked after task build.
Definition: write_task.hh:91