fpmas 1.6
Classes | Protected Member Functions | List of all members
fpmas::io::CsvOutputBase< DataField > Class Template Reference

#include <csv_output.h>

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

Protected Member Functions

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)
 

Additional Inherited Members

- Public Member Functions inherited from fpmas::io::OutputBase
 OutputBase (api::io::OutputStream &output_stream)
 
const api::scheduler::Jobjob () override
 
- Public Member Functions inherited from fpmas::api::io::Output
virtual void dump ()=0
 
virtual const scheduler::Jobjob ()=0
 
- Protected Attributes inherited from fpmas::io::OutputBase
api::io::OutputStreamoutput_stream
 

Detailed Description

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

CSV based api::output::Output implementation.

Produces very simple CSV formatted data, without any escaping.

Each field is serialized using the C++ stream output operator << applied to each DataField.

Parameters
DataFieldtypes of data in each row

This is a partial implementation that cannot be used directly.

See also
CsvOutput
DistributedCsvOutput

Constructor & Destructor Documentation

◆ CsvOutputBase()

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

CsvOutputBase constructor.

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"

Member Function Documentation

◆ dump_csv()

template<typename... DataField>
void fpmas::io::CsvOutputBase< DataField >::dump_csv ( const std::vector< std::string > &  data)
inlineprotected

Writes data to the output_stream as CSV, considering each item in data as a CSV field.

Parameters
datadata to write

◆ headers()

template<typename... DataField>
std::vector< std::string > fpmas::io::CsvOutputBase< DataField >::headers ( )
inlineprotected

Returns the CSV headers used by this output.

Returns
CSV headers

◆ dump_fields()

template<typename... DataField>
std::vector< std::string > fpmas::io::CsvOutputBase< DataField >::dump_fields ( )
inlineprotected

Fetch data fields using the watchers and returns the serialized data.

Returns
serialized data

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