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

Overlay-aware backend. More...

#include <dirty_data_frame.hpp>

Inherits csv::internals::data_frame::RowBackend.

Public Member Functions

 DirtyDataFrame (CleanDataFrame &backing, bool allocate_edits=true)
 
 DirtyDataFrame (const DirtyDataFrame &)=delete
 
DirtyDataFrame & operator= (const DirtyDataFrame &)=delete
 
void rebind (CleanDataFrame &backing) noexcept
 
const ConstColNamesPtr & names () const noexcept
 
size_t n_cols () const noexcept
 
const RowOverlay * find_edits (size_t row) const
 
RowOverlay * ensure_edits (size_t row)
 
size_t physical_column (size_t column) const
 
size_t logical_column (size_t physical) const
 
CellBinding bind (size_t row, size_t column) const
 
csv::string_view view (size_t row, size_t column) const
 
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)
 
std::unique_ptr< DirtyDataFrame > selected_rows (CleanDataFrame &selected, const std::vector< std::uint8_t > &mask) const
 
template<typename BeforeReplace >
bool insert_column (size_t index, const std::string &name, const std::string &default_value, int &key_column, const BeforeReplace &before_replace, CSVError &error)
 

Detailed Description

Overlay-aware backend.

Owns visible schema and all column mutation logic. Physical rows stay in the stable clean backing; promotion leaves readers and proxies bound to the same objects. Structural operations are exclusive.

Definition at line 13 of file dirty_data_frame.hpp.

Constructor & Destructor Documentation

◆ DirtyDataFrame()

csv::internals::data_frame::DirtyDataFrame::DirtyDataFrame ( CleanDataFrame &  backing,
bool  allocate_edits = true 
)
inlineexplicit

Definition at line 15 of file dirty_data_frame.hpp.

Member Function Documentation

◆ bind()

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

Definition at line 44 of file dirty_data_frame.hpp.

◆ ensure_edits()

RowOverlay * csv::internals::data_frame::DirtyDataFrame::ensure_edits ( size_t  row)
inline

Definition at line 30 of file dirty_data_frame.hpp.

◆ erase_column()

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

Definition at line 75 of file dirty_data_frame.hpp.

◆ erase_row()

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

Definition at line 71 of file dirty_data_frame.hpp.

◆ find_edits()

const RowOverlay * csv::internals::data_frame::DirtyDataFrame::find_edits ( size_t  row) const
inline

Definition at line 25 of file dirty_data_frame.hpp.

◆ insert_column()

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

Definition at line 116 of file dirty_data_frame.hpp.

◆ insert_row()

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

Definition at line 65 of file dirty_data_frame.hpp.

◆ logical_column()

size_t csv::internals::data_frame::DirtyDataFrame::logical_column ( size_t  physical) const
inline

Definition at line 38 of file dirty_data_frame.hpp.

◆ make_inserted_row()

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

Definition at line 54 of file dirty_data_frame.hpp.

◆ n_cols()

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

Definition at line 24 of file dirty_data_frame.hpp.

◆ names()

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

Definition at line 23 of file dirty_data_frame.hpp.

◆ physical_column()

size_t csv::internals::data_frame::DirtyDataFrame::physical_column ( size_t  column) const
inline

Definition at line 35 of file dirty_data_frame.hpp.

◆ rebind()

void csv::internals::data_frame::DirtyDataFrame::rebind ( CleanDataFrame &  backing)
inlinenoexcept

Definition at line 22 of file dirty_data_frame.hpp.

◆ reserve_insert()

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

Definition at line 61 of file dirty_data_frame.hpp.

◆ selected_rows()

std::unique_ptr< DirtyDataFrame > csv::internals::data_frame::DirtyDataFrame::selected_rows ( CleanDataFrame &  selected,
const std::vector< std::uint8_t > &  mask 
) const
inline

Definition at line 97 of file dirty_data_frame.hpp.

◆ view()

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

Definition at line 48 of file dirty_data_frame.hpp.


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