X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2FQueue.h;h=22d76dccd5bd22fdbb5b9975de6b8455c2e1b7e4;hb=eed1b5d2fca21abae2540b500f4a4ed94a809403;hp=0cd97665b2ed0ad4cce98b3a1fa0296f68cb9190;hpb=195fd722d1d22a3a6163de16dd827770b3d9d39e;p=cgds.git diff --git a/src/Queue.h b/src/Queue.h index 0cd9766..22d76dc 100644 --- a/src/Queue.h +++ b/src/Queue.h @@ -16,8 +16,8 @@ * @param dataSize Size in bytes of a queue element. */ typedef struct Queue { - size_t dataSize; ///< Size in bytes of a queue element. - List* list; ///< Internal list representation + size_t dataSize; ///< Size in bytes of a queue element. + List* list; ///< Internal list representation } Queue; /** @@ -26,107 +26,107 @@ typedef struct Queue { * @param dataSize Size in bytes of a queue element. */ void _queue_init( - Queue* queue, ///< "this" pointer. - size_t dataSize ///< Size in bytes of a queue element. + Queue* queue, ///< "this" pointer. + size_t dataSize ///< Size in bytes of a queue element. ); -/** +/** * @brief Return an allocated and initialized queue. */ Queue* _queue_new( - size_t dataSize ///< Size in bytes of a queue element. + size_t dataSize ///< Size in bytes of a queue element. ); -/** +/** * @brief Return an allocated and initialized queue. * @param type Type of a queue element (int, char*, ...). - * + * * Usage: Queue* queue_new( type) */ #define queue_new(type) \ - _queue_new(sizeof(type)) + _queue_new(sizeof(type)) /** - * @brief Copy constructor (works well if items do not have allocated sub-pointers). + * @brief Copy constructor (shallow copy, ok for basic types). */ Queue* queue_copy( - Queue* queue ///< "this" pointer. + Queue* queue ///< "this" pointer. ); /** * @brief Check if the queue is empty. */ -Bool queue_empty( - Queue* queue ///< "this" pointer. +bool queue_empty( + Queue* queue ///< "this" pointer. ); /** * @brief Return size of the current queue. */ UInt queue_size( - Queue* queue ///< "this" pointer. + Queue* queue ///< "this" pointer. ); /** * @brief Add something at the end of the queue. */ void _queue_push( - Queue* queue, ///< "this" pointer. - void* data ///< Data to be pushed. + Queue* queue, ///< "this" pointer. + void* data ///< Data to be pushed. ); /** * @brief Add something at the end of the queue. * @param queue "this" pointer * @param data Data to be pushed. - * + * * Usage: void queue_push(Queue* queue, void data) */ #define queue_push(queue, data) \ { \ - typeof((data)) tmp = data; \ - _queue_push(queue, &tmp); \ + typeof(data) tmp = data; \ + _queue_push(queue, &tmp); \ } /** * @brief Return what is at the beginning of the queue. */ void* _queue_peek( - Queue* queue ///< "this" pointer. + Queue* queue ///< "this" pointer. ); /** * @brief Return what is at the beginning of the queue. * @param queue "this" pointer. * @param data Data to be assigned. - * + * * Usage: void queue_peek(Queue* queue, void data) */ #define queue_peek(queue, data) \ { \ - void* pData = _queue_peek(queue); \ - data = *((typeof(&data))pData); \ + void* pData = _queue_peek(queue); \ + data = *((typeof(&data))pData); \ } /** * @brief Remove the beginning of the queue. */ void queue_pop( - Queue* queue ///< "this" pointer. + Queue* queue ///< "this" pointer. ); /** * @brief Clear the entire queue. */ void queue_clear( - Queue* queue ///< "this" pointer. + Queue* queue ///< "this" pointer. ); /** * @brief Destroy the queue: clear it, and free 'queue' pointer. */ void queue_destroy( - Queue* queue ///< "this" pointer. + Queue* queue ///< "this" pointer. ); #endif