Provided by: libbson-doc_1.3.1-1_all 

NAME
bson_t - BSON Document Abstraction
SYNOPSIS
#include <bson.h>
BSON_ALIGNED_BEGIN (128)
typedef struct
{
uint32_t flags; /* Internal flags for the bson_t. */
uint32_t len; /* Length of BSON data. */
uint8_t padding[120]; /* Padding for stack allocation. */
} bson_t
BSON_ALIGNED_END (128);
DESCRIPTION
The bson_t structure represents a BSON document. This structure manages the underlying BSON encoded
buffer. For mutable documents, it can append new data to the document.
PERFORMANCE NOTES
The bson_t structure attepts to use an inline allocation within the structure to speed up performance of
small documents. When this internal buffer has been exhausted, a heap allocated buffer will be
dynamically allocated. Therefore, it is essential to call bson_destroy(3) on allocated documents.
EXAMPLE
static void
create_on_heap (void)
{
bson_t *b = bson_new ();
BSON_APPEND_INT32 (b, "foo", 123);
BSON_APPEND_UTF8 (b, "bar", "foo");
BSON_APPEND_DOUBLE (b, "baz", 1.23f);
bson_destroy (b);
}
COLOPHON
This page is part of libbson. Please report any bugs at https://jira.mongodb.org/browse/CDRIVER.
libbson 2016‐01‐18 BSON_T(3)