NAME¶
bson_destroy_with_steal() - The bson_destroy_with_steal() function shall destroy
a bson_t structure but return the underlying buffer instead of freeing it. If
steal is false, this is equivalent to calling bson_destroy(). It is a
programming error to call this function on a bson_t that is not a top-level
bson_t, such as those initialized with bson_append_document_begin(),
bson_append_array_begin(), and bson_writer_begin().
SYNOPSIS¶
uint8_t *
bson_destroy_with_steal (bson_t *bson,
bool steal,
uint32_t *length);
PARAMETERS¶
- bson
- A bson_t
- steal
- A bool indicating if the underlying buffer should be stolen.
- length
- A location for storing the resulting buffer length.
DESCRIPTION¶
The bson_destroy_with_steal(3) function shall destroy a bson_t
structure but return the underlying buffer instead of freeing it. If steal is
false, this is equivalent to calling bson_destroy(). It is a programming error
to call this function on a bson_t that is not a top‐level
bson_t , such as those initialized with
bson_append_document_begin(3) , bson_append_array_begin(3) , and
bson_writer_begin(3)
See also bson_steal , a higher‐level function that
efficiently transfers the contents of one bson_t to another.
RETURNS¶
bson_destroy_with_steal(3) shall return a buffer containing the contents
of the bson_t if steal is non‐zero. This should be freed
with bson_free(3) when no longer in use. length will be set to
the length of the bson document if non‐NULL.