15 BEGIN_NAMESPACE_MEMORY
84 std::recursive_mutex&
getLock()
override;
101 mutable std::recursive_mutex lock;
110 template <
typename T>
116 template <
typename T>
119 std::lock_guard<std::recursive_mutex> guard(lock);
123 template <
typename T>
126 std::lock_guard<std::recursive_mutex> guard(lock);
130 template <
typename T>
133 std::lock_guard<std::recursive_mutex> guard(lock);
137 template <
typename T>
140 std::lock_guard<std::recursive_mutex> guard(lock);
141 return capacity - size;
144 template <
typename T>
147 std::lock_guard<std::recursive_mutex> guard(lock);
148 capacity = aCapacity;
152 template <
typename T>
155 std::lock_guard<std::recursive_mutex> guard(lock);
159 template <
typename T>
162 std::lock_guard<std::recursive_mutex> guard(lock);
163 return (size == capacity) && (capacity > 0);
166 template <
typename T>
169 std::lock_guard<std::recursive_mutex> guard(lock);
170 readPos = writePos = size = 0;
173 template <
typename T>
176 std::lock_guard<std::recursive_mutex> guard(lock);
179 if (readPos >= capacity)
180 readPos = readPos - capacity;
184 template <
typename T>
187 std::lock_guard<std::recursive_mutex> guard(lock);
190 if (writePos >= capacity)
191 writePos = writePos - capacity;
195 template <
typename T>
size_t getRemainingSize() override
Function returns remaining size in values.
Definition: fifo_buffer_base.h:138
virtual void reset()
Function resets all positions to default value.
Definition: fifo_buffer_base.h:167
void incrementReadPosition(size_t pos) override
Function increments read position for N values.
Definition: fifo_buffer_base.h:174
The class FifoBufferBase is used to implement first-in-first-out (FIFO) buffers.
Definition: fifo_buffer_base.h:21
Interface to array-backed source buffers.
Definition: direct_array_buffer.h:24
virtual bool isFull()
Function returns true if buffer is full.
Definition: fifo_buffer_base.h:160
Interfaces for buffers which are backed by the array (circular buffers, array buffers, ...). On such buffers data transfering is done without without intermediate buffer.
size_t getSize() override
Function returns current buffer size in values.
Definition: fifo_buffer_base.h:131
std::recursive_mutex & getLock() override
Function return locking object.
Definition: fifo_buffer_base.h:196
virtual void setCapacity(size_t aCapacity)
Function allocates memory at the heap.
Definition: fifo_buffer_base.h:145
size_t getCapacity() const override
Function returns buffer capacity in values.
Definition: fifo_buffer_base.h:153
size_t getWritePos() override
Function returns current write position.
Definition: fifo_buffer_base.h:124
size_t getReadPos() override
Function returns current read position.
Definition: fifo_buffer_base.h:117
FifoBufferBase(size_t aCapacity=0)
The constructor creates an instance.
Definition: fifo_buffer_base.h:111
Interface to array-backed target buffers.
Definition: direct_array_buffer.h:131
void incrementWritePosition(size_t pos) override
Function increments write position for N values.
Definition: fifo_buffer_base.h:185