template class Core::Deque
Overview
Double-ended queue container class. More…
#include <coredeque.h> template <class T> class Deque: protected Core::LinkedList { public: // methods void addFront(const T& data); void addBack(const T& data); T popFront(); T popBack(); const T& peekFront() const; const T& peekBack() const; };
Inherited Members
public: // methods void append(const T& data); void prepend(const T& data); bool insertBefore(const T& before, const T& data); bool insertBefore(ListIterator<T>& iter, const T& data); bool insertAfter(ListIterator<T>& iter, const T& data); bool insertAt(int idx, const T& data); bool addSorted(const T& data); bool replace(ListIterator<T>& iter, const T& newData); void swapContent(LinkedList<T>& other); bool remove(const T& data); bool removeAt(int idx); bool remove(ListIterator<T>& iter); template <class Predicate> int removeIf(const Predicate& recognize); int removeIf(ContainerPredicateFunction recognize); void removeAll(); T removeFirst(); T removeLast(); bool isEmpty() const; bool isMultiple() const; int count() const; void sort(); template <class Predicate> void sort(Predicate greater); const T& at(int idx) const; bool contains(const T& data) const; const T& lookup(const T& data) const; const T& getFirst() const; const T& getLast() const; template <class Predicate> const T& findIf(const Predicate& recognize) const; const T& findIf(ContainerPredicateFunction recognize) const; RangeIterator<LinkedList<T>, ListIterator<T>, T&> begin() const; RangeIterator<LinkedList<T>, ListIterator<T>, T&> end() const;
Detailed Documentation
Double-ended queue container class.
Elements can be added to or removed from both, front and back.
Methods
void addFront(const T& data)
Add element to front.
void addBack(const T& data)
Add element to back.
T popFront()
Remove element from front.
T popBack()
Remove element from back.
const T& peekFront() const
Peek at front-most element.
const T& peekBack() const
Peek at back-most element.