This repository has been archived on 2026-04-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
bhlib/doc/Manual/ru/BH_Queue.pod

138 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
=encoding UTF-8
=head1 НАИМЕНОВАНИЕ
BH_Queue - контейнер очереди
=head1 СИНТАКСИС
#include <BH/Queue.h>
cc prog.c -o prog -lbh
=head1 ОПИСАНИЕ
Модуль BH_Queue предоставляет реализацию контейнера очереди, который позволяет
добавлять элементы в конец и извлекать их из начала. Очередь основана на
динамическом массиве, что обеспечивает эффективное использование памяти и
быстрый доступ к элементам.
=head1 API ВЫЗОВЫ
=head2 BH_QueueNew
BH_Queue *BH_QueueNew(void);
Создаёт очередь.
В случае успеха функция возвращает указатель на новый объект BH_Queue,
или NULL в случае ошибки.
=head2 BH_QueueFree
void BH_QueueFree(BH_Queue *queue);
Уничтожает очередь.
=head2 BH_QueueClear
void BH_QueueClear(BH_Queue *queue);
Очищает очередь.
=head2 BH_QueueReserve
int BH_QueueReserve(BH_Queue *queue,
size_t size);
Резервирует место как минимум для I<size> элементов.
Вызов этой функции делает существующие итераторы недействительными.
В случае успеха функция возвращает 0, в случае ошибки - код ошибки.
=head2 BH_QueueInsert
int BH_QueueInsert(BH_Queue *queue,
void *value);
Вставляет элемент I<value>.
Вызов этой функции делает существующие итераторы недействительными.
В случае успеха функция возвращает 0, в случае ошибки - код ошибки.
=head2 BH_QueueRemove
void BH_QueueRemove(BH_Queue *queue);
Удаляет первый элемент из очереди.
Вызов этой функции делает существующие итераторы недействительными.
=head2 BH_QueueFront
int BH_QueueFront(BH_Queue *queue,
void **value);
Возвращает первый элемент очереди.
Параметр I<value> возвращает значение элемента.
В случае успеха функция возвращает 0, в случае ошибки - код ошибки.
=head2 BH_QueueEmpty
int BH_QueueEmpty(BH_Queue *queue);
Проверяет, является ли очередь пустой.
=head2 BH_QueueSize
size_t BH_QueueSize(BH_Queue *queue);
Возвращает количество элементов.
=head2 BH_QueueCapacity
size_t BH_QueueCapacity(BH_Queue *queue);
Возвращает ёмкость.
=head2 BH_QueueIterNext
void *BH_QueueIterNext(BH_Queue *queue, void *iter);
Возвращает итератор на следующий элемент.
Опциональный параметр I<iter> принимает итератор на текущий элемент.
В случае успеха функция возвращает итератор или NULL.
=head2 BH_QueueIterValue
void *BH_QueueIterValue(void *iter);
Возвращает значение элемента, указываемое итератором I<iter>.
=head1 СМ. ТАКЖЕ
L<BH>