![]() |
PIP 5.5.3
Platform-Independent Primitives
|
Класс контейнера наследованый от PIDeque с функциональностью очереди. Подробнее...
#include <piqueue.h>
Открытые члены | |
| PIQueue () | |
| Создает пустой массив. | |
| PIDeque< T > & | enqueue (const T &v) |
| Кладёт элемент в очередь. | |
| PIDeque< T > & | enqueue (T &&v) |
| Перемещает элемент в очередь. | |
| T | dequeue () |
| Забирает и возвращает элемент из очереди. Подробнее... | |
| T & | head () |
| Головной (верхний) элемент очереди. Подробнее... | |
| T & | tail () |
| Хвостовой (нижний) элемент очереди. Подробнее... | |
| PIVector< T > | toVector () const |
| Преобразует PIQueue в PIVector. | |
| PIDeque< T > | toDeque () const |
| Преобразует PIQueue в PIDeque. | |
Открытые члены унаследованные от PIDeque< T > | |
| PIDeque () | |
| Создает пустой массив. | |
| PIDeque (const PIDeque< T > &other) | |
| Копирующий конструктор. | |
| PIDeque (std::initializer_list< T > init_list) | |
| Создает массив из списка инициализации C++11. Подробнее... | |
| PIDeque (const T *data, size_t size) | |
Создает массив из указателя на данные data и размер size. То есть выделяет память для size элементов и копирует данные из указателя data. | |
| PIDeque (size_t pid_size, const T &e=T()) | |
Создает массив из size элементов заполненных e. | |
| PIDeque (size_t piv_size, std::function< T(size_t i)> f) | |
Создает массив из size элементов созданных функцией f(size_t i). Подробнее... | |
| PIDeque (PIDeque< T > &&other) | |
| Перемещающий конструктор. | |
| PIDeque< T > & | operator= (const PIDeque< T > &other) |
| Оператор присваивания. | |
| PIDeque< T > & | operator= (PIDeque< T > &&other) |
| Оператор перемещающего присваивания. | |
| iterator | begin () |
| Итератор на первый элемент. Подробнее... | |
| iterator | end () |
| Итератор на элемент, следующий за последним элементом. Подробнее... | |
| reverse_iterator | rbegin () |
| Обратный итератор на первый элемент. Подробнее... | |
| reverse_iterator | rend () |
| Обратный итератор на элемент, следующий за последним элементом. Подробнее... | |
| size_t | size () const |
| Количество элементов массива. Подробнее... | |
| ssize_t | size_s () const |
| Количество элементов массива в виде знакового числа. Подробнее... | |
| size_t | length () const |
| Синоним size(). Подробнее... | |
| size_t | capacity () const |
| Количество элементов, для которого сейчас выделена память массивом. Подробнее... | |
| bool | isEmpty () const |
| Проверяет пуст ли массив. Подробнее... | |
| bool | isNotEmpty () const |
| Проверяет не пуст ли массив. Подробнее... | |
| bool | any (std::function< bool(const T &e)> test) const |
Проверяет, удовлетворяет ли какой-либо элемент массива условию, заданному в передаваемой функции test. Подробнее... | |
| bool | every (std::function< bool(const T &e)> test) const |
Проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции test. Подробнее... | |
| T & | operator[] (size_t index) |
Полный доступ к элементу по индексу index. Подробнее... | |
| const T & | at (size_t index) const |
Доступ исключительно на чтение к элементу по индексу index. Подробнее... | |
| const T & | atWhere (std::function< bool(const T &e)> test, ssize_t start=0, const T &def=T()) const |
Возвращает первый элемент массива, проходящего по условию, заданному в передаваемой функции test, или def если такого элемента нет. Подробнее... | |
| const T & | lastAtWhere (std::function< bool(const T &e)> test, ssize_t start=-1, const T &def=T()) const |
Возвращает последний элемент массива, проходящего по условию, заданному в передаваемой функции test, или def если такого элемента нет. Подробнее... | |
| T & | back () |
| Последний элемент массива. Подробнее... | |
| T & | front () |
| Первый элемент массива. Подробнее... | |
| bool | operator== (const PIDeque< T > &v) const |
Оператор сравнения с массивом v. | |
| bool | operator!= (const PIDeque< T > &v) const |
Оператор сравнения с массивом v. | |
| bool | contains (const T &e, ssize_t start=0) const |
Проверяет наличие элемента e в массиве. Подробнее... | |
| bool | contains (const PIDeque< T > &v, ssize_t start=0) const |
Проверяет наличие всех элементов v в массиве. Подробнее... | |
| int | entries (const T &e, ssize_t start=0) const |
Подсчитывает количество элементов, совпадающих с элементом e в массиве. Подробнее... | |
| int | entries (std::function< bool(const T &e)> test, ssize_t start=0) const |
Подсчитывает количество элементов в массиве, проходящих по условию, заданному в передаваемой функции test. Подробнее... | |
| ssize_t | indexOf (const T &e, ssize_t start=0) const |
Возвращает первый индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет. Подробнее... | |
| ssize_t | indexWhere (std::function< bool(const T &e)> test, ssize_t start=0) const |
Возвращает первый индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет. Подробнее... | |
| ssize_t | lastIndexOf (const T &e, ssize_t start=-1) const |
Возвращает последний индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет. Подробнее... | |
| ssize_t | lastIndexWhere (std::function< bool(const T &e)> test, ssize_t start=-1) const |
Возвращает последний индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет. Подробнее... | |
| T * | data (size_t index=0) |
| Указатель на память массива Подробнее... | |
| const T * | data (size_t index=0) const |
| Указатель на память массива только для чтения. Подробнее... | |
| PIDeque< T > | getRange (size_t index, size_t count) const |
| Создает подмассив, то есть кусок из текущего массива. Подробнее... | |
| template<typename T1 = T, typename std::enable_if<!std::is_trivially_copyable< T1 >::value, int >::type = 0> | |
| PIDeque< T > & | clear () |
| Очищает массив, удаляет все элементы. Подробнее... | |
| PIDeque< T > & | fill (const T &e=T()) |
| Заполняет весь массив копиями элемента 'e'. Подробнее... | |
| PIDeque< T > & | fill (std::function< T(size_t i)> f) |
| Заполняет весь массив результатом вызова функции 'f(size_t i)'. Подробнее... | |
| PIDeque< T > & | assign (const T &e=T()) |
| Тоже самое что и fill(). Подробнее... | |
| template<typename T1 = T, typename std::enable_if<!std::is_trivially_copyable< T1 >::value, int >::type = 0> | |
| PIDeque< T > & | assign (size_t new_size, const T &e) |
Сначала делает resize(new_size), затем fill(e). Подробнее... | |
| PIDeque< T > & | resize (size_t new_size, const T &e=T()) |
Устанавливает размер массива, новые элементы копируются из e. Подробнее... | |
| PIDeque< T > & | resize (size_t new_size, std::function< T(size_t i)> f) |
Устанавливает размер массива, новые элементы создаются функцией f(size_t i). Подробнее... | |
| PIDeque< T > & | reserve (size_t new_size) |
Резервируется память под как минимум new_size элементов. Подробнее... | |
| PIDeque< T > & | insert (size_t index, const T &e=T()) |
Вставляет значение e в позицию index в массиве. Подробнее... | |
| PIDeque< T > & | insert (size_t index, T &&e) |
Вставляет значение e в позицию index в массиве. Подробнее... | |
| PIDeque< T > & | insert (size_t index, const PIDeque< T > &v) |
Вставляет массив v в позицию index в массиве. Подробнее... | |
| PIDeque< T > & | insert (size_t index, std::initializer_list< T > init_list) |
Вставляет элементы в позицию index в массиве. Подробнее... | |
| PIDeque< T > & | remove (size_t index, size_t count=1) |
Удаляет элементы из массива, начиная с позиции index в количестве count. Подробнее... | |
| void | swap (PIDeque< T > &other) |
Меняет местами массив v с этим массивом. Подробнее... | |
| PIDeque< T > & | sort () |
| Сортировка элементов в порядке возрастания. Подробнее... | |
| PIDeque< T > & | sort (std::function< bool(const T &a, const T &b)> comp) |
| Сортировка элементов в порядке возрастания. Подробнее... | |
| PIDeque< T > & | reverse () |
| Обращает порядок следования элементов этого массива. Подробнее... | |
| PIDeque< T > | reversed () const |
| Возвращает перевернутый массив. Подробнее... | |
| PIDeque< T > & | enlarge (ssize_t add_size, const T &e=T()) |
Увеличивает или уменьшает размер массива на add_size элементов. Подробнее... | |
| PIDeque< T > & | removeOne (const T &e) |
Удаляет первый элемент, который равен элементу e. Подробнее... | |
| PIDeque< T > & | removeAll (const T &e) |
Удаляет все элементы, равные элементу e. Подробнее... | |
| PIDeque< T > & | removeWhere (std::function< bool(const T &e)> test) |
Удаляет все элементы, удовлетворяющие условию, заданному в передаваемой функции test. Подробнее... | |
| PIDeque< T > & | push_back (const T &e) |
Добавляет элемент e в конец массива. Подробнее... | |
| PIDeque< T > & | push_back (T &&e) |
Добавляет элемент e в конец массива. Подробнее... | |
| PIDeque< T > & | push_back (std::initializer_list< T > init_list) |
| Добавляет элементы в конец массива. Подробнее... | |
| PIDeque< T > & | push_back (const PIDeque< T > &v) |
Добавляет массив v в конец массива. Подробнее... | |
| PIDeque< T > & | append (const T &e) |
Добавляет элемент e в конец массива. Подробнее... | |
| PIDeque< T > & | append (T &&e) |
Добавляет элемент e в конец массива. Подробнее... | |
| PIDeque< T > & | append (std::initializer_list< T > init_list) |
| Добавляет элементы в конец массива. Подробнее... | |
| PIDeque< T > & | append (const PIDeque< T > &v) |
Добавляет массив v в конец массива. Подробнее... | |
| PIDeque< T > & | operator<< (const T &e) |
Добавляет элемент e в конец массива. Подробнее... | |
| PIDeque< T > & | operator<< (T &&e) |
Добавляет элемент e в конец массива. Подробнее... | |
| PIDeque< T > & | operator<< (const PIDeque< T > &v) |
Добавляет массив v в конец массива. Подробнее... | |
| PIDeque< T > & | push_front (const T &e) |
Добавляет элемент e в начало массива. Подробнее... | |
| PIDeque< T > & | push_front (T &&e) |
Добавляет элемент e в начало массива. Подробнее... | |
| PIDeque< T > & | push_front (const PIDeque< T > &v) |
Добавляет массив v в начало массива. Подробнее... | |
| PIDeque< T > & | push_front (std::initializer_list< T > init_list) |
| Добавляет элементы в начало массива. Подробнее... | |
| PIDeque< T > & | prepend (const T &e) |
Добавляет элемент e в начало массива. Подробнее... | |
| PIDeque< T > & | prepend (T &&e) |
Добавляет элемент e в начало массива. Подробнее... | |
| PIDeque< T > & | prepend (const PIDeque< T > &v) |
Добавляет массив v в начало массива. Подробнее... | |
| PIDeque< T > & | prepend (std::initializer_list< T > init_list) |
| Добавляет элементы в начало массива. Подробнее... | |
| PIDeque< T > & | pop_back () |
| Удаляет один элемент с конца массива. Подробнее... | |
| PIDeque< T > & | pop_front () |
| Удаляет один элемент с начала массива. Подробнее... | |
| T | take_back () |
| Удаляет один элемент с начала массива и возвращает его. Подробнее... | |
| T | take_front () |
| Удаляет один элемент с конца массива и возвращает его. Подробнее... | |
| template<typename ST > | |
| PIDeque< ST > | toType () const |
| Возвращает конвертированный в другой тип массив. Подробнее... | |
| PIDeque< T > | filter (std::function< bool(const T &e)> test) const |
Возвращает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции bool test(const T & e). Подробнее... | |
| PIDeque< T > | filterIndexed (std::function< bool(size_t index, const T &e)> test) const |
Аналогично filter() но с параметром индекса index в функции test. Подробнее... | |
| PIDeque< T > | filterReverse (std::function< bool(const T &e)> test) const |
| Аналогично filter() но от конца до начала (справа на лево). Подробнее... | |
| PIDeque< T > | filterReverseIndexed (std::function< bool(size_t index, const T &e)> test) const |
Аналогично filterReverse() но с параметром индекса index в функции test. Подробнее... | |
| void | forEach (std::function< void(const T &e)> f) const |
Выполняет функцию void f(const T & e) для каждого элемента массива. Подробнее... | |
| PIDeque< T > & | forEach (std::function< void(T &e)> f) |
Выполняет функцию void f(T & e) для каждого элемента массива. Подробнее... | |
| void | forEachIndexed (std::function< void(size_t index, const T &e)> f) const |
Аналогично forEach() но с параметром индекса index в функции f. Подробнее... | |
| PIDeque< T > & | forEachIndexed (std::function< void(size_t index, T &e)> f) |
| Аналогично forEachIndexed(), но позволяет изменять элементы массива. Подробнее... | |
| void | forEachReverse (std::function< void(const T &e)> f) const |
| Аналогично forEach() но от конца до начала (справа на лево). Подробнее... | |
| PIDeque< T > & | forEachReverse (std::function< void(T &e)> f) |
| Аналогично forEachReverse(), но позволяет изменять элементы массива. Подробнее... | |
| void | forEachReverseIndexed (std::function< void(size_t index, const T &e)> f) const |
| Аналогично forEachIndexed() но от конца до начала (справа на лево). Подробнее... | |
| PIDeque< T > & | forEachReverseIndexed (std::function< void(size_t index, T &e)> f) |
| Аналогично forEachReverseIndexed(), но позволяет изменять элементы массива. Подробнее... | |
| template<typename ST > | |
| PIDeque< ST > | map (std::function< ST(const T &e)> f) const |
Создаёт новый массив с результатом вызова указанной функции ST f(const T & e) для каждого элемента массива. Подробнее... | |
| template<typename ST > | |
| PIDeque< ST > | mapIndexed (std::function< ST(size_t index, const T &e)> f) const |
Аналогично map() но с параметром индекса index в функции f. Подробнее... | |
| template<typename ST > | |
| PIDeque< ST > | mapReverse (std::function< ST(const T &e)> f) const |
| Аналогично map() но от конца до начала (справа на лево). Подробнее... | |
| template<typename ST > | |
| PIDeque< ST > | mapReverseIndexed (std::function< ST(size_t index, const T &e)> f) const |
Аналогично mapReverse() но с параметром индекса index в функции f. Подробнее... | |
| template<typename ST > | |
| ST | reduce (std::function< ST(const T &e, const ST &acc)> f, const ST &initial=ST()) const |
Применяет функцию ST f(const T & e, const ST & acc) к каждому элементу массива (слева-направо), возвращает одно значение. Подробнее... | |
| template<typename ST > | |
| ST | reduceIndexed (std::function< ST(size_t index, const T &e, const ST &acc)> f, const ST &initial=ST()) const |
Аналогично reduce() но с параметром индекса index в функции f. Подробнее... | |
| template<typename ST > | |
| ST | reduceReverse (std::function< ST(const T &e, const ST &acc)> f, const ST &initial=ST()) const |
| Аналогично reduce() но от конца до начала (справа на лево). Подробнее... | |
| template<typename ST > | |
| ST | reduceReverseIndexed (std::function< ST(size_t index, const T &e, const ST &acc)> f, const ST &initial=ST()) const |
Аналогично reduceReverse() но с параметром индекса index в функции f. Подробнее... | |
| PIDeque< PIDeque< T > > | reshape (size_t rows, size_t cols, ReshapeOrder order=ReshapeByRow) const |
| Изменяет размерность массива, из одномерного массива создает двухмерный. Подробнее... | |
| template<typename C , typename std::enable_if< std::is_same< T, PIDeque< C > >::value, int >::type = 0> | |
| PIDeque< C > | flatten (ReshapeOrder order=ReshapeByRow) const |
| Изменяет размерность массива, из двухмерный массива создает одномерный. Подробнее... | |
| template<typename C , typename std::enable_if< std::is_same< T, PIDeque< C > >::value, int >::type = 0> | |
| PIDeque< PIDeque< C > > | reshape (size_t rows, size_t cols, ReshapeOrder order=ReshapeByRow) const |
| Изменяет размерность двухмерного массива. Подробнее... | |
| PIDeque< PIDeque< T > > | split (const T &separator) const |
Разделяет массив на двумерный массив с помощью разделителяseparator. Подробнее... | |
| PIDeque< PIDeque< T > > | splitBySize (size_t sz) const |
Разделяет массив на двумерный массив по кускам не более чем sz. Подробнее... | |
| PIDeque< T > | takeRange (size_t index, size_t count) |
| Вырезает подмассив, то есть кусок из текущего массива. Подробнее... | |
Класс контейнера наследованый от PIDeque с функциональностью очереди.
Контейнер представляющий массив элементов, организованных по принципу FIFO (первым пришёл — первым вышел). Добавляет к PIDeque функции enqueue() и dequeue().
|
inline |
Забирает и возвращает элемент из очереди.
|
inline |
Головной (верхний) элемент очереди.
|
inline |
Хвостовой (нижний) элемент очереди.
Возвращает ссылку на хвостовой (нижний) элемент очереди. Эта функция предполагает, что массив не пустой. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.