.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "BSON_ITER_INIT" "3" "Feb 22, 2024" "1.26.0" "libbson" .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 .sp .EX bool bson_iter_init (bson_iter_t *iter, const bson_t *bson); .EE .UNINDENT .UNINDENT .SH PARAMETERS .INDENT 0.0 .IP \(bu 2 \fBiter\fP: A \fI\%bson_iter_t\fP\&. .IP \(bu 2 \fBbson\fP: A \fI\%bson_t\fP\&. .UNINDENT .SH DESCRIPTION .sp The \fBbson_iter_init()\fP function shall initialize \fBiter\fP to iterate upon the BSON document \fBbson\fP\&. Upon initialization, \fBiter\fP is placed before the first element. Callers must call \fI\%bson_iter_next()\fP, \fI\%bson_iter_find()\fP, or \fI\%bson_iter_find_case()\fP to advance to an element. .SH RETURNS .sp Returns true if the iter was successfully initialized. .SH EXAMPLE .INDENT 0.0 .INDENT 3.5 .sp .EX static void print_doc_id (const bson_t *doc) { bson_iter_t iter; bson_oid_t oid; char oidstr[25]; if (bson_iter_init (&iter, doc) && bson_iter_find (&iter, \(dq_id\(dq) && BSON_ITER_HOLDS_OID (&iter)) { bson_iter_oid (&iter, &oid); bson_oid_to_string (&oid, oidstr); printf (\(dq%s\en\(dq, oidstr); } else { printf (\(dqDocument is missing _id.\en\(dq); } } /* alternatively */ static void print_doc_id (const bson_t *doc) { bson_iter_t iter; bson_oid_t oid; char oidstr[25]; if (bson_iter_init_find (&iter, doc, \(dq_id\(dq) && BSON_ITER_HOLDS_OID (&iter)) { bson_iter_oid (&iter, &oid); bson_oid_to_string (&oid, oidstr); printf (\(dq%s\en\(dq, oidstr); } else { printf (\(dqDocument is missing _id.\en\(dq); } } .EE .UNINDENT .UNINDENT .SH AUTHOR MongoDB, Inc .SH COPYRIGHT 2017-present, MongoDB, Inc .\" Generated by docutils manpage writer. .