X-Git-Url: https://git.auder.net/?p=cgds.git;a=blobdiff_plain;f=src%2FBufferTop.h;h=7906a31c8bac3bc5e54b024c8af7e121ea6289cc;hp=89a5e1fc1f81e0cfe7760f2c1aba7a7847c99c7f;hb=HEAD;hpb=588a2232cf24183218d88c85003f2e6093f942ed diff --git a/src/BufferTop.h b/src/BufferTop.h index 89a5e1f..7906a31 100644 --- a/src/BufferTop.h +++ b/src/BufferTop.h @@ -18,7 +18,7 @@ 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. + Heap* heap; ///< Items + values are internally organized into a heap. } BufferTop; /** @@ -97,7 +97,7 @@ void _buffertop_tryadd( /** * @brief Return the top ("worst among best") ItemValue inside current buffer. */ -ItemValue* buffertop_first_raw( +ItemValue _buffertop_first( BufferTop* bufferTop ///< "this" pointer. ); @@ -106,12 +106,12 @@ ItemValue* buffertop_first_raw( * @param bufferTop "this" pointer. * @param item_ Variable to be assigned. * - * Usage: void buffertop_first(BufferTop* bufferTop, void item) + * Usage: void buffertop_first(BufferTop* bufferTop, void item_) */ #define buffertop_first(bufferTop, item_) \ { \ - void* pItem = buffertop_first_raw(bufferTop)->item; \ - item_ = *((typeof(&item_))pItem); \ + ItemValue iv = _buffertop_first(bufferTop); \ + item_ = *((typeof(item_)*)(iv.item)); \ } /**