fpmas 1.6
Public Member Functions | List of all members
fpmas::io::CsvOutput< DataField > Class Template Reference

#include <csv_output.h>

Inheritance diagram for fpmas::io::CsvOutput< DataField >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::io::CsvOutput< DataField >:
Collaboration graph
[legend]

Public Member Functions

 CsvOutput (api::io::OutputStream &output_stream, std::pair< std::string, std::function< DataField()> >... csv_fields)
 
void dump () override
 
- Public Member Functions inherited from fpmas::io::OutputBase
 OutputBase (api::io::OutputStream &output_stream)
 
const api::scheduler::Jobjob () override
 
virtual void dump ()=0
 
virtual const scheduler::Jobjob ()=0
 

Additional Inherited Members

- Protected Member Functions inherited from fpmas::io::CsvOutputBase< DataField... >
void dump_csv (const std::vector< std::string > &data)
 
std::vector< std::string > headers ()
 
std::vector< std::string > dump_fields ()
 
 CsvOutputBase (api::io::OutputStream &output_stream, std::pair< std::string, std::function< DataField()> >... csv_fields)
 
- Protected Attributes inherited from fpmas::io::OutputBase
api::io::OutputStreamoutput_stream
 

Detailed Description

template<typename... DataField>
class fpmas::io::CsvOutput< DataField >

Basic api::output::Output implementation that dumps CSV data to an output stream.

Parameters
DataFieldtypes of data in each row

Constructor & Destructor Documentation

◆ CsvOutput()

template<typename... DataField>
fpmas::io::CsvOutput< DataField >::CsvOutput ( api::io::OutputStream output_stream,
std::pair< std::string, std::function< DataField()> >...  csv_fields 
)
inline

CsvOutputBase constructor.

Writes CSV headers to the output_stream.

Parameters
output_streamstream to which data will be dumped
csv_fieldspairs of type {"field_name", watcher}, where watcher is a callable object used to fetch data corresponding to "field_name". See examples for concrete use cases.

Member Function Documentation

◆ dump()

template<typename... DataField>
void fpmas::io::CsvOutput< DataField >::dump ( )
inlineoverridevirtual

Dumps data fields to the output_stream.

Each data field is dynamically fetched using the corresponding watcher provided in the constructor.

Implements fpmas::api::io::Output.


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