GL CHOCO ENGINE
Loading...
Searching...
No Matches
ring_queue.h
Go to the documentation of this file.
1
30#ifndef GLCE_ENGINE_CONTAINERS_RING_QUEUE_H
31#define GLCE_ENGINE_CONTAINERS_RING_QUEUE_H
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37#include <stdbool.h>
38#include <stddef.h>
39
44typedef struct ring_queue ring_queue_t;
45
50typedef enum {
61
93ring_queue_result_t ring_queue_create(size_t max_element_count_, size_t element_size_, size_t element_align_, ring_queue_t** ring_queue_);
94
119void ring_queue_destroy(ring_queue_t** ring_queue_);
120
156ring_queue_result_t ring_queue_push(ring_queue_t* ring_queue_, const void* data_, size_t element_size_, size_t element_align_);
157
193ring_queue_result_t ring_queue_pop(ring_queue_t* ring_queue_, void* data_, size_t element_size_, size_t element_align_);
194
231bool ring_queue_empty(const ring_queue_t* ring_queue_);
232
233#ifdef __cplusplus
234}
235#endif
236#endif
ring_queue_result_t ring_queue_push(ring_queue_t *ring_queue_, const void *data_, size_t element_size_, size_t element_align_)
ring_queue_にdata_をpushする
Definition: ring_queue.c:196
ring_queue_result_t ring_queue_pop(ring_queue_t *ring_queue_, void *data_, size_t element_size_, size_t element_align_)
ring_queue_からdata_にデータをpopする
Definition: ring_queue.c:231
void ring_queue_destroy(ring_queue_t **ring_queue_)
ring_queue_が管理しているメモリと自身のメモリを解放し、*ring_queue_=NULLにする
Definition: ring_queue.c:174
bool ring_queue_empty(const ring_queue_t *ring_queue_)
リングキューが空かを判定する
Definition: ring_queue.c:269
ring_queue_result_t ring_queue_create(size_t max_element_count_, size_t element_size_, size_t element_align_, ring_queue_t **ring_queue_)
ring_queue_のメモリを確保し、容量max_element_count_で初期化する
Definition: ring_queue.c:77
ring_queue_result_t
リングキューAPI実行結果コードリスト
Definition: ring_queue.h:50
@ RING_QUEUE_UNDEFINED_ERROR
Definition: ring_queue.h:55
@ RING_QUEUE_LIMIT_EXCEEDED
Definition: ring_queue.h:56
@ RING_QUEUE_NO_MEMORY
Definition: ring_queue.h:53
@ RING_QUEUE_INVALID_ARGUMENT
Definition: ring_queue.h:52
@ RING_QUEUE_DATA_CORRUPTED
Definition: ring_queue.h:57
@ RING_QUEUE_RUNTIME_ERROR
Definition: ring_queue.h:54
@ RING_QUEUE_OVERFLOW
Definition: ring_queue.h:58
@ RING_QUEUE_EMPTY
Definition: ring_queue.h:59
@ RING_QUEUE_SUCCESS
Definition: ring_queue.h:51
ring_queue_t内部データ構造
Definition: ring_queue.c:39