/
Xakka
/
CPP2
Обзор
Документация
Войти
/
Xakka
/
CPP2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/s21_queue.h
56 строк
1 KB
moshedur
master: release 1.0
04 янв 2025, 23:35
04 янв 2025, 23:35
1c45f0a
Код
Авторство
О чём код?
#ifndef CPP2_S21_CONTAINERS_SRC_S21_QUEUE_H_ #define CPP2_S21_CONTAINERS_SRC_S21_QUEUE_H_ #include <cstddef> #include <cstdio> #include <utility> namespace s21 { template <class T> class s21_queue { public: using value_type = T; using reference = T &; using const_reference = const T &; using size_type = size_t; typedef struct Node { value_type value; Node *tail; Node *next; Node *prev; } Node; protected: size_type m_size; Node *m_node; public: s21_queue(); s21_queue(std::initializer_list<value_type> const &items); s21_queue(const s21_queue &q); s21_queue(s21_queue &&q) noexcept; ~s21_queue(); s21_queue<value_type> &operator=(const s21_queue &q); s21_queue<value_type> &operator=(s21_queue &&q) noexcept; const_reference front(); const_reference back(); bool empty(); size_type size(); void push(const_reference value); virtual void pop(); void swap(s21_queue &other); template <typename... Args> void insert_many_back(Args &&...args); }; } // namespace s21 #include "s21_queue.tpp" #endif // CPP2_S21_CONTAINERS_SRC_S21_QUEUE_H_