SourceXtractorPlusPlus  0.8
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
SourceXtractor::TableOutput Class Reference

#include <TableOutput.h>

Inheritance diagram for SourceXtractor::TableOutput:
[legend]
Collaboration diagram for SourceXtractor::TableOutput:
[legend]

Public Types

using SourceToRowConverter = std::function< Euclid::Table::Row(const SourceInterface &)>
 
using TableHandler = std::function< void(const Euclid::Table::Table &)>
 

Public Member Functions

size_t flush () override
 
 TableOutput (SourceToRowConverter source_to_row, TableHandler table_handler, size_t flush_size)
 
void outputSource (const SourceInterface &source) override
 
- Public Member Functions inherited from SourceXtractor::Output
virtual ~Output ()=default
 
virtual void handleMessage (const std::shared_ptr< SourceInterface > &source) override
 
virtual void handleMessage (const std::shared_ptr< SourceGroupInterface > &source_group) override
 
- Public Member Functions inherited from SourceXtractor::Observer< std::shared_ptr< SourceInterface > >
virtual ~Observer ()=default
 
- Public Member Functions inherited from SourceXtractor::Observer< std::shared_ptr< SourceGroupInterface > >
virtual ~Observer ()=default
 

Private Attributes

SourceToRowConverter m_source_to_row
 
TableHandler m_table_handler
 
std::vector< Euclid::Table::Rowm_rows {}
 
size_t m_flush_size
 
size_t m_total_rows_written
 

Detailed Description

Definition at line 32 of file TableOutput.h.

Member Typedef Documentation

Definition at line 36 of file TableOutput.h.

Definition at line 37 of file TableOutput.h.

Constructor & Destructor Documentation

SourceXtractor::TableOutput::TableOutput ( SourceToRowConverter  source_to_row,
TableHandler  table_handler,
size_t  flush_size 
)
inline

Definition at line 49 of file TableOutput.h.

Member Function Documentation

size_t SourceXtractor::TableOutput::flush ( )
inlineoverridevirtual
Returns
Number of elements written

Implements SourceXtractor::Output.

Definition at line 39 of file TableOutput.h.

References std::vector< T >::clear(), std::vector< T >::empty(), m_rows, m_table_handler, m_total_rows_written, and std::vector< T >::size().

Referenced by outputSource().

Here is the call graph for this function:

void SourceXtractor::TableOutput::outputSource ( const SourceInterface source)
inlineoverridevirtual

Implements SourceXtractor::Output.

Definition at line 54 of file TableOutput.h.

References std::vector< T >::emplace_back(), flush(), m_flush_size, m_rows, m_source_to_row, and std::vector< T >::size().

Here is the call graph for this function:

Member Data Documentation

size_t SourceXtractor::TableOutput::m_flush_size
private

Definition at line 65 of file TableOutput.h.

Referenced by outputSource().

std::vector<Euclid::Table::Row> SourceXtractor::TableOutput::m_rows {}
private

Definition at line 64 of file TableOutput.h.

Referenced by flush(), and outputSource().

SourceToRowConverter SourceXtractor::TableOutput::m_source_to_row
private

Definition at line 62 of file TableOutput.h.

Referenced by outputSource().

TableHandler SourceXtractor::TableOutput::m_table_handler
private

Definition at line 63 of file TableOutput.h.

Referenced by flush().

size_t SourceXtractor::TableOutput::m_total_rows_written
private

Definition at line 66 of file TableOutput.h.

Referenced by flush().


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