src/cx/buffer.h

changeset 1290
4ac889e14211
parent 1284
b2103354baed
child 1291
5942859fd76c
equal deleted inserted replaced
1289:2e8edba252a0 1290:4ac889e14211
476 * 476 *
477 * @param buffer the buffer 477 * @param buffer the buffer
478 * @param capacity the minimum required capacity for this buffer 478 * @param capacity the minimum required capacity for this buffer
479 * @retval zero the capacity was already sufficient or successfully increased 479 * @retval zero the capacity was already sufficient or successfully increased
480 * @retval non-zero on allocation failure 480 * @retval non-zero on allocation failure
481 * @see cxBufferShrink()
481 */ 482 */
482 cx_attr_nonnull 483 cx_attr_nonnull
483 cx_attr_export 484 cx_attr_export
484 int cxBufferMinimumCapacity( 485 int cxBufferMinimumCapacity(
485 CxBuffer *buffer, 486 CxBuffer *buffer,
486 size_t capacity 487 size_t capacity
488 );
489
490 /**
491 * Shrinks the capacity of the buffer to fit its current size.
492 *
493 * If @p reserve is larger than zero, the buffer is shrunk to its size plus
494 * the number of reserved bytes.
495 *
496 * If the current capacity is not larger than the size plus the reserved bytes,
497 * nothing happens.
498 *
499 * If the #CX_BUFFER_COPY_ON_WRITE or #CX_BUFFER_COPY_ON_EXTEND flag is set,
500 * this function does nothing.
501 *
502 * @param buffer the buffer
503 * @param reserve the number of bytes that shall remain reserved
504 * @see cxBufferMinimumCapacity()
505 */
506 cx_attr_nonnull
507 cx_attr_export
508 void cxBufferShrink(
509 CxBuffer *buffer,
510 size_t reserve
487 ); 511 );
488 512
489 /** 513 /**
490 * Writes data to a CxBuffer. 514 * Writes data to a CxBuffer.
491 * 515 *

mercurial