Program Listing for File queue_with_array.h

Return to documentation for file (data_structures/queue_with_array.h)

#ifndef DATA_STRUCTURES_QUEUE_WITH_ARRAY_H
#define DATA_STRUCTURES_QUEUE_WITH_ARRAY_H

#include "circular_array.h"

namespace DataStructures {

template <typename T>
class QueueWithArray {
public:
        QueueWithArray() { arr = CircularArray<T>(); }
        void push(const T& element) { arr.add_last(element); }

        T pop() { return arr.del_first(); }

        T peek() const { return arr.get_first(); }

        size_t size() const { return arr.get_size(); }

private:
        CircularArray<T> arr;
};

} // namespace DataStructures

#endif // DATA_STRUCTURES_QUEUE_WITH_ARRAY_STL_H