libpniio
Public Types | Public Member Functions | Protected Member Functions | Private Attributes
pni::io::spreadsheet_reader Class Reference

base class for spreadsheet reader More...

#include <spreadsheet_reader.hpp>

Inheritance diagram for pni::io::spreadsheet_reader:
Inheritance graph
[legend]
Collaboration diagram for pni::io::spreadsheet_reader:
Collaboration graph
[legend]

Public Types

typedef std::vector
< column_info >::iterator 
iterator
 iterator type More...
 
typedef std::vector
< column_info >
::const_iterator 
const_iterator
 const iterator type More...
 

Public Member Functions

virtual ~spreadsheet_reader ()
 destructor More...
 
spreadsheet_readeroperator= (const spreadsheet_reader &)=delete
 copy assignment operator is deleted More...
 
spreadsheet_readeroperator= (spreadsheet_reader &&r)
 move assignment operator More...
 
size_t ncolumns () const
 get column number More...
 
size_t nrecords () const
 get record number More...
 
iterator begin ()
 get iterator to first column More...
 
const_iterator begin () const
 get const first iterator More...
 
iterator end ()
 get last iterator More...
 
const_iterator end () const
 get const last iterator More...
 
bool has_column (const pni::core::string &name) const
 checks if a particular column exists More...
 
size_t column_index (const pni::core::string &name) const
 get column index More...
 
- Public Member Functions inherited from pni::io::data_reader
virtual ~data_reader ()
 destructor More...
 
pni::core::string filename () const
 get filename More...
 
void filename (const pni::core::string &fname)
 set filename More...
 
virtual void close ()
 close the file More...
 
virtual void open ()
 open file More...
 

Protected Member Functions

 spreadsheet_reader ()
 default constructor More...
 
 spreadsheet_reader (const spreadsheet_reader &)=delete
 copy constructor is deleted More...
 
 spreadsheet_reader (spreadsheet_reader &&o)
 move constructor More...
 
 spreadsheet_reader (const pni::core::string &n)
 standard constructor More...
 
virtual void _append_column (const column_info &i)
 append a column More...
 
virtual column_info _get_column (size_t i) const
 get column information More...
 
virtual column_info _get_column (const pni::core::string &n) const
 get column information More...
 
void _nrecords (size_t n)
 set number of records More...
 
- Protected Member Functions inherited from pni::io::data_reader
std::ifstream & _get_stream () const
 get stream More...
 
void _set_binary ()
 set binary mode More...
 
 data_reader ()
 default constructor More...
 
 data_reader (const pni::core::string &fname, bool binary=false)
 standard constructor More...
 
 data_reader (data_reader &&r)
 move constructor More...
 
 data_reader (const data_reader &r)=delete
 copy constructor is deleted More...
 
data_readeroperator= (const data_reader &r)=delete
 copy assigment is deleted More...
 
data_readeroperator= (data_reader &&r)
 move assignment More...
 

Private Attributes

std::vector< column_info_columns_info
 column information More...
 
size_t _nrec
 number of records in the sheet More...
 

Detailed Description

This class is the basement for all readers dealing with spreadsheet like data files. Most of the ASCII formats written following this storage convention.

Member Typedef Documentation

Constructor & Destructor Documentation

pni::io::spreadsheet_reader::spreadsheet_reader ( )
protected
pni::io::spreadsheet_reader::spreadsheet_reader ( const spreadsheet_reader )
protecteddelete
pni::io::spreadsheet_reader::spreadsheet_reader ( spreadsheet_reader &&  o)
protected
pni::io::spreadsheet_reader::spreadsheet_reader ( const pni::core::string &  n)
protected
pni::io::spreadsheet_reader::~spreadsheet_reader ( )
virtual

Member Function Documentation

virtual void pni::io::spreadsheet_reader::_append_column ( const column_info i)
inlineprotectedvirtual

Protected method used by child classes to add a new column to the reader.

Parameters
icolumn info to add
virtual column_info pni::io::spreadsheet_reader::_get_column ( size_t  i) const
inlineprotectedvirtual

Protected method used by child classes to retriev the info object for column i in the file.

Parameters
iindex of the column in the file
Returns
ColumnInfo instance for this column
virtual column_info pni::io::spreadsheet_reader::_get_column ( const pni::core::string &  n) const
inlineprotectedvirtual

Protected method used by child classes to obtain column information by using the name of the column.

Exceptions
key_errorif the name of the column does not exist
Parameters
nname of the column
Returns
column_info instance for this column
void pni::io::spreadsheet_reader::_nrecords ( size_t  n)
inlineprotected

Child classes can use this method to set the number of records in the spreadsheet.

Parameters
nnumber of records
iterator pni::io::spreadsheet_reader::begin ( )
inline

Return an iterator pointing to the first column in the file.

Returns
iterator
const_iterator pni::io::spreadsheet_reader::begin ( ) const
inline

Return a const iterator to the first column in the file.

Returns
const iterator
size_t pni::io::spreadsheet_reader::column_index ( const pni::core::string &  name) const

Get the index of a particular column.

Exceptions
key_errorif the column does not exist
Parameters
namename of the column
Returns
numeric index
iterator pni::io::spreadsheet_reader::end ( )
inline

Return an iterator to the last column in the file.

Returns
iterator
const_iterator pni::io::spreadsheet_reader::end ( ) const
inline

Returns a const iterator to the last column in the file.

Returns
const iterator
bool pni::io::spreadsheet_reader::has_column ( const pni::core::string &  name) const

Returns true if the spreadsheet contains a column of the requested name and false otherwise.

Parameters
nameof the column
Returns
true if column exists, false otherwise
size_t pni::io::spreadsheet_reader::ncolumns ( ) const
inline

Returns the number of columns.

Returns
number of columns
size_t pni::io::spreadsheet_reader::nrecords ( ) const
inline

Return the number of records in the spreadsheet.

Returns
number of records
spreadsheet_reader& pni::io::spreadsheet_reader::operator= ( const spreadsheet_reader )
delete
spreadsheet_reader & pni::io::spreadsheet_reader::operator= ( spreadsheet_reader &&  r)

Field Documentation

std::vector<column_info> pni::io::spreadsheet_reader::_columns_info
private
size_t pni::io::spreadsheet_reader::_nrec
private

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