58QSC_CPLUSPLUS_ENABLED_START
109#define QSC_LIST_ALIGNMENT 64ULL
115#define QSC_LIST_MAX_DEPTH 10000U
121#define QSC_LIST_MAX_WIDTH 1024U
250#if defined(QSC_DEBUG_MODE)
259QSC_CPLUSPLUS_ENABLED_END
Asynchronous Thread and Mutex Management Functions.
QSC_EXPORT_API size_t qsc_list_serialize(uint8_t *output, const qsc_list_state *ctx)
Serialize the list into a byte array.
Definition list.c:296
QSC_EXPORT_API void qsc_list_dispose(qsc_list_state *ctx)
Dispose of the list state.
Definition list.c:120
QSC_EXPORT_API void qsc_list_rshuffle(qsc_list_state *ctx)
Randomly shuffle the items in the list.
Definition list.c:211
QSC_EXPORT_API void qsc_list_deserialize(qsc_list_state *ctx, const uint8_t *input)
Convert a serialized list into a list context.
Definition list.c:83
QSC_EXPORT_API size_t qsc_list_size(const qsc_list_state *ctx)
Get the serialized size of the list.
Definition list.c:323
QSC_EXPORT_API size_t qsc_list_count(const qsc_list_state *ctx)
Get the number of items in the list.
Definition list.c:65
QSC_EXPORT_API bool qsc_list_empty(const qsc_list_state *ctx)
Check if the list is empty.
Definition list.c:144
QSC_EXPORT_API void qsc_list_copy(const qsc_list_state *ctx, size_t index, void *item)
Copy an item from the list.
Definition list.c:48
QSC_EXPORT_API void qsc_list_item(const qsc_list_state *ctx, uint8_t *item, size_t index)
Retrieve a pointer to a list item.
Definition list.c:194
QSC_EXPORT_API void qsc_list_sort(qsc_list_state *ctx)
Sort the items in the list.
Definition list.c:341
QSC_EXPORT_API void qsc_list_remove(qsc_list_state *ctx, size_t index)
Remove an item from the list.
Definition list.c:253
QSC_EXPORT_API bool qsc_list_full(const qsc_list_state *ctx)
Check if the list is full.
Definition list.c:162
QSC_EXPORT_API void qsc_list_add(qsc_list_state *ctx, const void *item)
Add an item to the list.
Definition list.c:6
QSC_EXPORT_API void qsc_list_initialize(qsc_list_state *ctx, size_t width)
Initialize the list state.
Definition list.c:180
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605
Contains the list context state.
Definition list.h:131
size_t width
Definition list.h:134
size_t count
Definition list.h:133
uint8_t * items
Definition list.h:132
qsc_mutex opmtx
Definition list.h:135