Doxygen kind'a sucks and I need multilanguage documentation, so I did that. Also, separated massive Math.h file into smaller files.
138 lines
3.5 KiB
Plaintext
138 lines
3.5 KiB
Plaintext
=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>
|