Fixed-size circular buffer. Used as time series storage.
using const_iterator = vtb::base::multiple_array_iterator< const_pointer, 2 >using iterator = vtb::base::multiple_array_iterator< pointer, 2 >using const_reference = const value_type &using reference = value_type &using offset_type = std::ptrdiff_tusing size_type = std::size_tusing const_pointer = const value_type *using pointer = value_type *using value_type = Tclear() -> voidswap(Circular_buffer & rhs) -> voidresize(size_type new_size) -> voidrecord(T && value) -> voidrecord(const T & value) -> voidoperator[](size_type i) const -> const value_type &back() const -> const value_type &back() -> value_type &front() const -> const value_type &front() -> value_type &middle() -> pointermiddle() const -> const_pointercurrent() -> pointercurrent() const -> const_pointerend() -> iteratorend() const -> const_iteratorcend() const -> const_iteratorbegin() -> iteratorbegin() const -> const_iteratorcbegin() const -> const_iteratorcounter() const -> size_typeempty() const -> boolsize() const -> size_typemax_size() const -> size_typedata() -> pointerdata() const -> const_pointeroperator=(Circular_buffer && rhs) -> Circular_buffer &operator=(const Circular_buffer & rhs) -> Circular_buffer &Circular_buffer(const Circular_buffer & rhs)Circular_buffer(Circular_buffer && rhs)Circular_buffer(size_type size)explicitCircular_buffer(size_type size, const value_type & value)~Circular_buffer()Circular_buffer()template <class T> swap(Circular_buffer< T > & lhs, Circular_buffer< T > & rhs) -> void