merged AI doc, some new pages
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
//! \addtogroup Containers
|
||||
//! \{
|
||||
//! \file piqueue.h
|
||||
//! \~\file piqueue.h
|
||||
//! \brief
|
||||
//! \~english Declares \a PIQueue
|
||||
//! \~russian Объявление \a PIQueue
|
||||
@@ -40,78 +40,76 @@
|
||||
//! \addtogroup Containers
|
||||
//! \{
|
||||
//! \class PIQueue
|
||||
//! \brief
|
||||
//! \~english A container class inherited from the \a PIDeque with queue functionality.
|
||||
//! \~russian Класс контейнера наследованый от \a PIDeque с функциональностью очереди.
|
||||
//! \~\brief
|
||||
//! \~english Queue container built on top of \a PIDeque.
|
||||
//! \~russian Контейнер очереди, построенный поверх \a PIDeque.
|
||||
//! \~\}
|
||||
//! \details
|
||||
//! \~english The container is a array of elements organized according to the FIFO principle (first in, first out).
|
||||
//! Adds \a enqueue() and \dequeue() functions to \a PIDeque.
|
||||
//! \~russian Контейнер представляющий массив элементов, организованных по принципу FIFO (первым пришёл — первым вышел).
|
||||
//! Добавляет к \a PIDeque функции \a enqueue() и \a dequeue().
|
||||
//! \~english Stores elements in FIFO order and adds \a enqueue() and \a dequeue() to \a PIDeque.
|
||||
//! \~russian Хранит элементы в порядке FIFO и добавляет к \a PIDeque функции \a enqueue() и \a dequeue().
|
||||
//! \~\sa \a PIDeque
|
||||
template<typename T>
|
||||
class PIQueue: public PIDeque<T> {
|
||||
public:
|
||||
//! \~english Constructs an empty array.
|
||||
//! \~russian Создает пустой массив.
|
||||
//! \~english Constructs an empty queue.
|
||||
//! \~russian Создает пустую очередь.
|
||||
PIQueue() {}
|
||||
|
||||
//! \~english Puts an element on the queue.
|
||||
//! \~russian Кладёт элемент в очередь.
|
||||
//! \~english Enqueues `v`.
|
||||
//! \~russian Добавляет `v` в очередь.
|
||||
PIDeque<T> & enqueue(const T & v) {
|
||||
PIDeque<T>::push_front(v);
|
||||
return *this;
|
||||
}
|
||||
|
||||
//! \~english Move an element on the queue.
|
||||
//! \~russian Перемещает элемент в очередь.
|
||||
//! \~english Moves `v` into the queue.
|
||||
//! \~russian Перемещает `v` в очередь.
|
||||
PIDeque<T> & enqueue(T && v) {
|
||||
PIDeque<T>::push_front(std::move(v));
|
||||
return *this;
|
||||
}
|
||||
|
||||
//! \~english Retrieves and returns an element from the queue.
|
||||
//! \~russian Забирает и возвращает элемент из очереди.
|
||||
//! \~english Dequeues and returns the head element.
|
||||
//! \~russian Извлекает и возвращает головной элемент очереди.
|
||||
//! \~\details
|
||||
//! \note
|
||||
//! \~english This function assumes that the array isn't empty.
|
||||
//! Otherwise will be undefined behavior.
|
||||
//! \~russian Эта функция предполагает, что массив не пустой.
|
||||
//! \~english This function assumes that the queue is not empty.
|
||||
//! Otherwise behavior is undefined.
|
||||
//! \~russian Эта функция предполагает, что очередь не пуста.
|
||||
//! Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.
|
||||
T dequeue() { return PIDeque<T>::take_back(); }
|
||||
|
||||
//! \~english Head element of the queue.
|
||||
//! \~russian Головной (верхний) элемент очереди.
|
||||
//! \~english Returns the head element.
|
||||
//! \~russian Возвращает головной элемент очереди.
|
||||
//! \~\details
|
||||
//! \note
|
||||
//! \~english Returns a reference to the head element of the queue.
|
||||
//! This function assumes that the array isn't empty.
|
||||
//! Otherwise will be undefined behavior.
|
||||
//! \~russian Возвращает ссылку на головной (верхний) элемент очереди.
|
||||
//! Эта функция предполагает, что массив не пустой.
|
||||
//! \~english Returns a reference to the head element.
|
||||
//! This function assumes that the queue is not empty.
|
||||
//! Otherwise behavior is undefined.
|
||||
//! \~russian Возвращает ссылку на головной элемент очереди.
|
||||
//! Эта функция предполагает, что очередь не пуста.
|
||||
//! Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.
|
||||
T & head() { return PIDeque<T>::back(); }
|
||||
const T & head() const { return PIDeque<T>::back(); }
|
||||
|
||||
//! \~english Tail element of the queue.
|
||||
//! \~russian Хвостовой (нижний) элемент очереди.
|
||||
//! \~english Returns the tail element.
|
||||
//! \~russian Возвращает хвостовой элемент очереди.
|
||||
//! \~\details
|
||||
//! \~english Returns a reference to the tail element of the queue.
|
||||
//! This function assumes that the array isn't empty.
|
||||
//! Otherwise will be undefined behavior.
|
||||
//! \~russian Возвращает ссылку на хвостовой (нижний) элемент очереди.
|
||||
//! Эта функция предполагает, что массив не пустой.
|
||||
//! \~english Returns a reference to the tail element.
|
||||
//! This function assumes that the queue is not empty.
|
||||
//! Otherwise behavior is undefined.
|
||||
//! \~russian Возвращает ссылку на хвостовой элемент очереди.
|
||||
//! Эта функция предполагает, что очередь не пуста.
|
||||
//! Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.
|
||||
T & tail() { return PIDeque<T>::front(); }
|
||||
const T & tail() const { return PIDeque<T>::front(); }
|
||||
|
||||
//! \~english Converts \a PIQueue to \a PIVector.
|
||||
//! \~russian Преобразует \a PIQueue в \a PIVector.
|
||||
//! \~english Returns queue contents as \a PIVector.
|
||||
//! \~russian Возвращает содержимое очереди в виде \a PIVector.
|
||||
PIVector<T> toVector() const { return PIVector<T>(PIDeque<T>::data(), PIDeque<T>::size()); }
|
||||
|
||||
//! \~english Converts \a PIQueue to \a PIDeque.
|
||||
//! \~russian Преобразует \a PIQueue в \a PIDeque.
|
||||
//! \~english Returns queue contents as \a PIDeque.
|
||||
//! \~russian Возвращает содержимое очереди в виде \a PIDeque.
|
||||
PIDeque<T> toDeque() const { return PIDeque<T>(*this); }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user