ESyS-Particle  2.3.4
RingBuffer.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef __RINGBUFFER_H
14 #define __RINGBUFFER_H
15 
16 // --- STL includes ---
17 #include <vector>
18 using std::vector;
19 
23 template <typename T>
25 {
26  private:
27  vector<T> m_buffer;
28  int m_idx;
29  int m_size;
30 
31  public:
32  RingBuffer(int);
33 
34  T& operator[](int);
35  T operator[] (int) const;
36  void insert(const T&);
37  inline int size() const {return m_size;};
38 };
39 
41 
42 #endif // __RINGBUFFER_H
RingBuffer
Definition: RingBuffer.h:25
RingBuffer.hpp
RingBuffer::operator[]
T & operator[](int)
Definition: RingBuffer.hpp:22
RingBuffer::m_buffer
vector< T > m_buffer
Definition: RingBuffer.h:27
RingBuffer::m_idx
int m_idx
Definition: RingBuffer.h:28
RingBuffer::RingBuffer
RingBuffer(int)
Definition: RingBuffer.hpp:14
RingBuffer::m_size
int m_size
Definition: RingBuffer.h:29
RingBuffer::insert
void insert(const T &)
Definition: RingBuffer.hpp:36
RingBuffer::size
int size() const
Definition: RingBuffer.h:37