16 using std::runtime_error;
25 m_has_filled ( false )
33 m_has_filled ( false )
39 m_capacity ( nt.m_capacity ),
40 m_next_row ( nt.m_next_row ),
41 m_has_filled ( nt.m_has_filled )
49 m_has_filled ( false )
57 m_has_filled ( false )
82 addRow (
const std::vector< double > & v )
96 if (
empty () ==
false ) {
97 const string what (
"CircularBuffer: Attempt to set the capacity of "
98 "non-empty buffer is not allowed" );
99 throw runtime_error ( what );
virtual void reserve(unsigned int count)
For each column, reserves enough space for the data source to grow to count rows. ...
unsigned int m_capacity
The capacity.
virtual void clear()
Clears the NTuple.
A DataSource class implemented with std::vector to store the column data. ...
virtual void addRow(const std::vector< double > &v)
Adds a row to the buffer.
void incrementRowIndex()
Increments the next row index.
virtual void clear()
Clears the contents without changing the capacity.
virtual void addRow(const std::vector< double > &v)
Adds a row to the end of the ntuple.
CircularBuffer class interface.
unsigned int m_next_row
The index to the next row to be added.
virtual void reserve(unsigned int count)
Sets the size, in rows, of the circular buffer.
virtual bool empty() const
Returns true, if NTuple is empty, i.e.
bool m_has_filled
A flog which when true, indicates the buffer has been filled to capacity.
CircularBuffer()
The default constructor creating an circular buffer with 0 columns.
void replaceRow(unsigned int i, const std::vector< double > &data)
Replaces the data in the row i.