Virtual Testbed
Ship dynamics simulator for extreme conditions
Public Types | Public Member Functions | List of all members
vtb::core::Circular_buffer< T > Class Template Reference

Fixed-size circular buffer. Used as time series storage. More...

#include <circular_buffer.hh>

Public Types

using value_type = T
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using size_type = std::size_t
 
using offset_type = std::ptrdiff_t
 
using reference = value_type &
 
using const_reference = const value_type &
 
using iterator = vtb::base::multiple_array_iterator< pointer, 2 >
 
using const_iterator = vtb::base::multiple_array_iterator< const_pointer, 2 >
 

Public Member Functions

 Circular_buffer (size_type size, const value_type &value)
 
 Circular_buffer (size_type size)
 
 Circular_buffer (Circular_buffer &&rhs)
 
 Circular_buffer (const Circular_buffer &rhs)
 
Circular_bufferoperator= (const Circular_buffer &rhs)
 
Circular_bufferoperator= (Circular_buffer &&rhs)
 
const_pointer data () const noexcept
 
pointer data () noexcept
 
size_type max_size () const noexcept
 
size_type size () const noexcept
 
bool empty () const
 
size_type counter () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator cend () const noexcept
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
const_pointer current () const noexcept
 
pointer current () noexcept
 
const_pointer middle () const
 
pointer middle ()
 
value_type & front () noexcept
 
const value_type & front () const noexcept
 
value_type & back () noexcept
 
const value_type & back () const noexcept
 
const value_type & operator[] (size_type i) const
 
void record (const T &value)
 
void record (T &&value)
 
void resize (size_type new_size)
 
void swap (Circular_buffer &rhs)
 
void clear ()
 

Detailed Description

template<class T>
class vtb::core::Circular_buffer< T >

Fixed-size circular buffer. Used as time series storage.

Date
2018-10-06
Author
Ivan Gankevich

Definition at line 20 of file circular_buffer.hh.