Scroll to navigation

BSON_DESTROY_WITH_STEAL(3) libbson BSON_DESTROY_WITH_STEAL(3)

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() <> 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() <>.

RETURNS

bson_destroy_with_steal() <> shall return a buffer containing the contents of the bson_t <> if steal is non-zero. This should be freed with bson_free() <> when no longer in use. length will be set to the length of the bson document if non-NULL.

See also:

bson_steal() <>, a higher-level function that efficiently transfers the contents of one bson_t <> to another.



Author

MongoDB, Inc

Copyright

2009-present, MongoDB, Inc.

December 11, 2025 2.2.1