bson_iter_binary()

Synopsis

#define BSON_ITER_HOLDS_BINARY(iter) \
   (bson_iter_type ((iter)) == BSON_TYPE_BINARY)

void
bson_iter_binary (const bson_iter_t *iter,
                  bson_subtype_t *subtype,
                  uint32_t *binary_len,
                  const uint8_t **binary);

Parameters

  • iter: A bson_iter_t.
  • subtype: A location for a bson_subtype_t or NULL.
  • binary_len: A location for the length of binary.
  • binary: A location for a pointer to the immutable buffer.

Description

This function shall return the binary data of a BSON_TYPE_BINARY element. It is a programming error to call this function on a field that is not of type BSON_TYPE_BINARY. You can check this with the BSON_ITER_HOLDS_BINARY() macro or bson_iter_type().

The buffer that binary points to is only valid until the iterator's bson_t is modified or freed.