Provided by: libbson-doc_1.26.0-1.1ubuntu2_all bug

SYNOPSIS

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

DESCRIPTION

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

AUTHOR

       MongoDB, Inc

COPYRIGHT

       2017-present, MongoDB, Inc

1.26.0                                            Mar 31, 2024             BSON_ITER_INIT_FROM_DATA_AT_OFFSET(3)