bson_destroy_with_steal man page

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.

Colophon

This page is part of libbson. Please report any bugs at https://jira.mongodb.org/browse/CDRIVER.

Info

2016‐11‐12 libbson