void decrRefCount_Array(Array array, MemoryDecrementer decrementer){ decrRefCount(array.memory); if(decrementer != NULL){ unsigned i=0; for(; i < array.length; ++i){ decrementer(getItemPointer(&array, i)); } } }
/** * constructor * * This is the 'normal' constructor. It builds a fully fledged glom parameters * data item. * * @param interval - Number of ticks in the event building coincidence window. * @param isBuilding - If true the output of glom is built rather than just * ordered/formatted events. * @param policy - The timestamp policy used by glom. */ CGlomParameters::CGlomParameters( uint64_t interval, bool isBuilding, CGlomParameters::TimestampPolicy policy ) : CRingItem(EVB_GLOM_INFO, sizeof(GlomParameters)) { // Fill in the body of the item: pGlomParameters pItem = reinterpret_cast<pGlomParameters>(getItemPointer()); pItem->s_coincidenceTicks = interval; pItem->s_isBuilding = (isBuilding ? 0xffff : 0); pItem->s_timestampPolicy = policy; // Set the insertion cursor...and compute the final item size. setBodyCursor(&(pItem[1])); updateSize(); }