X-Git-Url: https://git.auder.net/?p=cgds.git;a=blobdiff_plain;f=src%2FBufferTop.h;h=f399bc2a0e206a51095af9c18ec980450b6141b4;hp=96af7695238f8f73a6352736d6588cd8423fec14;hb=e45132acdb58c076d5e06849fa51c26de9a7486d;hpb=1ff641f9960fa6c6081817a5641afb22fad91dcd diff --git a/src/BufferTop.h b/src/BufferTop.h index 96af769..f399bc2 100644 --- a/src/BufferTop.h +++ b/src/BufferTop.h @@ -16,19 +16,19 @@ * @brief Data structure to store top (MAX or MIN) elements in a buffer. */ typedef struct BufferTop { - UInt capacity; ///< Buffer capacity (in items count). - OrderType bType; ///< Type of buffer: keep max or min items (MAX_T or MIN_T). - Heap* heap; ///< Item-ValueS are internally organized into a heap. + UInt capacity; ///< Buffer capacity (in items count). + OrderType bType; ///< Type of buffer: keep max or min items (MAX_T or MIN_T). + Heap* heap; ///< Item-ValueS are internally organized into a heap. } BufferTop; /** * @brief Return an allocated and initialized buffer. */ BufferTop* _buffertop_new( - size_t dataSize, ///< Size in bytes of a buffer element. - UInt capacity, ///< Maximum number of elements that the buffer can contain. - OrderType bType, ///< Type of buffer: keep max or min items (MAX_T or MIN_T). - UInt arity ///< Arity of the wrapped heap: any integer >=2. + size_t dataSize, ///< Size in bytes of a buffer element. + UInt capacity, ///< Maximum number of elements that the buffer can contain. + OrderType bType, ///< Type of buffer: keep max or min items (MAX_T or MIN_T). + UInt arity ///< Arity of the wrapped heap: any integer >=2. ); /** @@ -38,47 +38,48 @@ BufferTop* _buffertop_new( * @param bType type of buffer: keep max or min items (MAX_T or MIN_T). * @param arity Arity of the wrapped heap: any integer >=2. * - * Usage: BufferTop* buffertop_new(\ - * type, UInt capacity, OrderTypebType, UInt arity) + * Usage: BufferTop* buffertop_new( type, UInt capacity, OrderTypebType, UInt arity) */ #define buffertop_new(type, capacity, bType, arity) \ - _buffertop_new(sizeof(type), capacity, bType, arity) +{ \ + _buffertop_new(sizeof(type), capacity, bType, arity); \ +} /** * @brief Copy constructor (shallow copy, ok for basic types). */ BufferTop* buffertop_copy( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** * @brief Turn the buffer into a list to scan its content linearly. */ List* buffertop_2list( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** * @brief Check if the buffer is empty. */ bool buffertop_empty( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** * @brief Return the size of current buffer (<= capacity). */ UInt buffertop_size( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** * @brief (Try to) add an item-value in the buffer. */ void _buffertop_tryadd( - BufferTop* bufferTop, ///< "this" pointer. - void* item, ///< Pointer to an item of type as defined in the constructor. - Real value ///< Value associated with the item. + BufferTop* bufferTop, ///< "this" pointer. + void* item, ///< Pointer to an item of type as defined in the constructor. + Real value ///< Value associated with the item. ); /** @@ -91,15 +92,15 @@ void _buffertop_tryadd( */ #define buffertop_tryadd(bufferTop, item, value) \ { \ - typeof((item)) tmp = item; \ - _buffertop_tryadd(bufferTop, &tmp, value); \ + typeof((item)) tmp = item; \ + _buffertop_tryadd(bufferTop, &tmp, value); \ } /** * @brief Return the top ("worst among best") ItemValue inside current buffer. */ ItemValue* buffertop_first_raw( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** @@ -111,29 +112,29 @@ ItemValue* buffertop_first_raw( */ #define buffertop_first(bufferTop, item_) \ { \ - void* pItem = buffertop_first_raw(bufferTop)->item; \ - item_ = *((typeof(&item_))pItem); \ + void* pItem = buffertop_first_raw(bufferTop)->item; \ + item_ = *((typeof(&item_))pItem); \ } /** * @brief Remove the top ("worst among best") item-value inside the buffer. */ void buffertop_pop( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** * @brief Clear the entire buffer. */ void buffertop_clear( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); /** * @brief Destroy the buffer: clear it, and free 'bufferTop' pointer. */ void buffertop_destroy( - BufferTop* bufferTop ///< "this" pointer. + BufferTop* bufferTop ///< "this" pointer. ); #endif