morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::table::RowsSnapshot< Row > Class Template Referencefinal

A snapshot over a shared, immutable vector of typed rows. More...

#include <query.hpp>

Inheritance diagram for morph::table::RowsSnapshot< Row >:
morph::table::RowSnapshot

Public Member Functions

 RowsSnapshot (std::shared_ptr< std::vector< Row > const > rows, RowKey< Row > key, std::shared_ptr< std::vector< detail::CellReader< Row > > const > readers)
 Wraps rows.
std::size_t rowCount () const override
 The number of rows.
RowId rowId (std::size_t row) const override
 A row's key.
Cell cell (std::size_t row, std::size_t column) const override
 One cell.
void readColumn (std::size_t column, ColumnSink &sink, std::size_t first, std::size_t last) const override
 Hands rows [first, last) of column to sink in runs.

Additional Inherited Members

Protected Member Functions inherited from morph::table::RowSnapshot
 RowSnapshot (RowSnapshot const &)=default
 Copies the base of a snapshot: a derived snapshot makes a changed copy of itself this way.
 RowSnapshot (RowSnapshot &&)=default
 Moves the base of a snapshot.
RowSnapshot & operator= (RowSnapshot const &)=default
 Copy-assigns the base of a snapshot.
RowSnapshot & operator= (RowSnapshot &&)=default
 Move-assigns the base of a snapshot.

Detailed Description

template<typename Row>
class morph::table::RowsSnapshot< Row >

A snapshot over a shared, immutable vector of typed rows.

Template Parameters
RowA glaze-reflectable aggregate.

Definition at line 508 of file query.hpp.

Constructor & Destructor Documentation

◆ RowsSnapshot()

template<typename Row>
morph::table::RowsSnapshot< Row >::RowsSnapshot ( std::shared_ptr< std::vector< Row > const > rows,
RowKey< Row > key,
std::shared_ptr< std::vector< detail::CellReader< Row > > const > readers )
inline

Wraps rows.

Parameters
rowsThe rows; shared, never modified.
keyThe key projection.
readersOne cell reader per column.

Definition at line 514 of file query.hpp.

Member Function Documentation

◆ rowCount()

template<typename Row>
std::size_t morph::table::RowsSnapshot< Row >::rowCount ( ) const
inlinenodiscardoverridevirtual

The number of rows.

Returns
Row count.

Implements morph::table::RowSnapshot.

Definition at line 520 of file query.hpp.

◆ rowId()

template<typename Row>
RowId morph::table::RowsSnapshot< Row >::rowId ( std::size_t row) const
inlinenodiscardoverridevirtual

A row's key.

Parameters
rowRow index.
Returns
The key.

Implements morph::table::RowSnapshot.

Definition at line 525 of file query.hpp.

◆ cell()

template<typename Row>
Cell morph::table::RowsSnapshot< Row >::cell ( std::size_t row,
std::size_t column ) const
inlinenodiscardoverridevirtual

One cell.

Parameters
rowRow index.
columnColumn index.
Returns
The cell.

Implements morph::table::RowSnapshot.

Definition at line 531 of file query.hpp.

◆ readColumn()

template<typename Row>
void morph::table::RowsSnapshot< Row >::readColumn ( std::size_t column,
ColumnSink & sink,
std::size_t first,
std::size_t last ) const
inlineoverridevirtual

Hands rows [first, last) of column to sink in runs.

Parameters
columnColumn index.
sinkReceives the cells.
firstFirst row.
lastOne past the last row.

Reimplemented from morph::table::RowSnapshot.

Definition at line 540 of file query.hpp.


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