General Utility Library for C++14  2.11
Classes | Namespaces | Enumerations
SlidingBuffer.h File Reference

Detailed Description

Declaration of the SlidingBuffer class for the General Utility Library.

General Utility Library Contributors
Created on Feb 7, 2019

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the license, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see

#include <algorithm>
#include <array>
#include <ostream>
#include <vector>
#include "gul14/cat.h"
#include "gul14/internal.h"
Include dependency graph for SlidingBuffer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  gul14::SlidingBuffer< ElementT, fixed_capacity, Container >
 A circular data buffer of (semi-)fixed capacity to which elements can be added at the front or at the back. More...
class  gul14::SlidingBuffer< ElementT, fixed_capacity, Container >::SlidingBufferIterator< BufferPointer >
 Iterator of the SlidingBuffer container. More...
class  gul14::SlidingBufferExposed< ElementT, fixed_capacity, Container >
 A variant of SlidingBuffer that exposes the underlying container through its iterator interface. More...


 Namespace gul14 contains all functions and classes of the General Utility Library.


enum class  gul14::ShrinkBehavior { keep_front_elements , keep_back_elements }
 Determine how a SlidingBuffer handles decreases of its size. More...