bson_iter_init_from_data_at_offset(3)

bson_iter_init_from_data_at_offset3

Usage

bool
bson_iter_init_from_data_at_offset (bson_iter_t *iter,
                                    const uint8_t *data,
                                    size_t length,
                                    uint32_t offset,
                                    uint32_t keylen);

Parameters

•

iter: A bson_iter_t.

•

data: A buffer to initialize with. This is not validated.

•

length: The length of data in bytes. This is not validated.

•

offset: The offset of the field to start iterating. This is not validated. This should be an offset previously obtained from bson_iter_offset().

•

keylen: The string length of the key of the field to start iterating. This is not validated. This should be a length previously obtained from bson_iter_key_len().

Overview

Creates a bson_iter_t and starts iteration on a field at the offset.

bson_iter_init_from_data_at_offset() is useful for situations where the progress of a bson_iter_t must be saved and restored without relying on the bson_iter_t data layout. Saving the progress could be accomplished by:

•

Saving the current field's key length with bson_iter_key_len()

•

Saving the current offset with bson_iter_offset()

•

Saving the data pointer of the iterated bson_t with bson_get_data()

•

Saving the data length of the iterated bson_t with the len struct field

Then later, these saved values can be passed to bson_iter_init_from_data_at_offset() to reconstruct the bson_iter_t in constant time.

Returns

Returns true if the iter was successfully initialized.

SEE ALSO:

bson_iter_key_len()
bson_iter_offset()
bson_get_data()

Releases

4 releases since Debian 10 (Buster); the text changed 3 times.

  1. 10
  2. 11
  3. 12
  4. 13

Author

MongoDB, Inc

From libbson-doc 1.30.4-1+deb13u3 in Debian 13 (Trixie). Parsed by carta from the page's man source.