Vince's CSV Parser
Loading...
Searching...
No Matches
csv::internals::data_frame::DataFrameStorage Class Reference

C++11 tagged choice of concrete backends, without a vtable. More...

#include <data_frame_storage.hpp>

Public Member Functions

 DataFrameStorage (const DataFrameStorage &)=delete
 
DataFrameStorage & operator= (const DataFrameStorage &)=delete
 
 DataFrameStorage (DataFrameStorage &&other) noexcept
 
DataFrameStorage & operator= (DataFrameStorage &&other) noexcept
 
std::vector< CSVRow > & rows () noexcept
 
const std::vector< CSVRow > & rows () const noexcept
 
void set_names (ConstColNamesPtr names)
 
const ConstColNamesPtr & names () const noexcept
 
size_t n_cols () const noexcept
 
CellBinding bind (size_t row, size_t column) const
 
csv::string_view view (size_t row, size_t column) const
 
CellBinding try_bind (size_t row, size_t column, CSVError &error) const
 
const RowOverlay * find_edits (const CSVRow *row) const
 
RowOverlay * ensure_edits (const CSVRow *row)
 
CSVRow make_inserted_row (const std::vector< std::string > &row, CSVError &error) const
 
void reserve_insert ()
 
void insert_row (size_t index, CSVRow &&row)
 
void erase_row (size_t index)
 
bool erase_column (size_t index, int key_column, CSVError &error)
 
template<typename BeforeReplace >
bool insert_column (size_t index, const std::string &name, const std::string &value, int &key_column, const BeforeReplace &before_replace, CSVError &error)
 
DataFrameStorage selected_rows (const std::vector< std::uint8_t > &mask, CSVError &error) const
 
bool pristine () const noexcept
 

Detailed Description

C++11 tagged choice of concrete backends, without a vtable.

The clean backing remains alive after first-edit publication. A reader that loaded the old pointer can safely finish without a per-read lock. Only structural operations (including moves) retire a dirty backend; those require exclusive access and invalidate proxies.

Definition at line 16 of file data_frame_storage.hpp.

Constructor & Destructor Documentation

◆ DataFrameStorage() [1/2]

csv::internals::data_frame::DataFrameStorage::DataFrameStorage ( )
inline

Definition at line 18 of file data_frame_storage.hpp.

◆ DataFrameStorage() [2/2]

csv::internals::data_frame::DataFrameStorage::DataFrameStorage ( DataFrameStorage &&  other)
inlinenoexcept

Definition at line 22 of file data_frame_storage.hpp.

Member Function Documentation

◆ bind()

CellBinding csv::internals::data_frame::DataFrameStorage::bind ( size_t  row,
size_t  column 
) const
inline

Definition at line 43 of file data_frame_storage.hpp.

◆ ensure_edits()

RowOverlay * csv::internals::data_frame::DataFrameStorage::ensure_edits ( const CSVRow *  row)
inline

Definition at line 62 of file data_frame_storage.hpp.

◆ erase_column()

bool csv::internals::data_frame::DataFrameStorage::erase_column ( size_t  index,
int  key_column,
CSVError &  error 
)
inline

Definition at line 72 of file data_frame_storage.hpp.

◆ erase_row()

void csv::internals::data_frame::DataFrameStorage::erase_row ( size_t  index)
inline

Definition at line 70 of file data_frame_storage.hpp.

◆ find_edits()

const RowOverlay * csv::internals::data_frame::DataFrameStorage::find_edits ( const CSVRow *  row) const
inline

Definition at line 59 of file data_frame_storage.hpp.

◆ insert_column()

template<typename BeforeReplace >
bool csv::internals::data_frame::DataFrameStorage::insert_column ( size_t  index,
const std::string &  name,
const std::string &  value,
int &  key_column,
const BeforeReplace &  before_replace,
CSVError &  error 
)
inline

Definition at line 79 of file data_frame_storage.hpp.

◆ insert_row()

void csv::internals::data_frame::DataFrameStorage::insert_row ( size_t  index,
CSVRow &&  row 
)
inline

Definition at line 69 of file data_frame_storage.hpp.

◆ make_inserted_row()

CSVRow csv::internals::data_frame::DataFrameStorage::make_inserted_row ( const std::vector< std::string > &  row,
CSVError &  error 
) const
inline

Definition at line 65 of file data_frame_storage.hpp.

◆ n_cols()

size_t csv::internals::data_frame::DataFrameStorage::n_cols ( ) const
inlinenoexcept

Definition at line 42 of file data_frame_storage.hpp.

◆ names()

const ConstColNamesPtr & csv::internals::data_frame::DataFrameStorage::names ( ) const
inlinenoexcept

Definition at line 41 of file data_frame_storage.hpp.

◆ operator=()

DataFrameStorage & csv::internals::data_frame::DataFrameStorage::operator= ( DataFrameStorage &&  other)
inlinenoexcept

Definition at line 27 of file data_frame_storage.hpp.

◆ pristine()

bool csv::internals::data_frame::DataFrameStorage::pristine ( ) const
inlinenoexcept

Definition at line 110 of file data_frame_storage.hpp.

◆ reserve_insert()

void csv::internals::data_frame::DataFrameStorage::reserve_insert ( )
inline

Definition at line 68 of file data_frame_storage.hpp.

◆ rows() [1/2]

const std::vector< CSVRow > & csv::internals::data_frame::DataFrameStorage::rows ( ) const
inlinenoexcept

Definition at line 39 of file data_frame_storage.hpp.

◆ rows() [2/2]

std::vector< CSVRow > & csv::internals::data_frame::DataFrameStorage::rows ( )
inlinenoexcept

Definition at line 38 of file data_frame_storage.hpp.

◆ selected_rows()

DataFrameStorage csv::internals::data_frame::DataFrameStorage::selected_rows ( const std::vector< std::uint8_t > &  mask,
CSVError &  error 
) const
inline

Definition at line 98 of file data_frame_storage.hpp.

◆ set_names()

void csv::internals::data_frame::DataFrameStorage::set_names ( ConstColNamesPtr  names)
inline

Definition at line 40 of file data_frame_storage.hpp.

◆ try_bind()

CellBinding csv::internals::data_frame::DataFrameStorage::try_bind ( size_t  row,
size_t  column,
CSVError &  error 
) const
inline

Definition at line 45 of file data_frame_storage.hpp.

◆ view()

csv::string_view csv::internals::data_frame::DataFrameStorage::view ( size_t  row,
size_t  column 
) const
inline

Definition at line 44 of file data_frame_storage.hpp.


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