.\" 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_COPY_TO_EXCLUDING_NOINIT" "3" "Oct 20, 2022" "1.23.1" "libbson"
.SH NAME
bson_copy_to_excluding_noinit \- bson_copy_to_excluding_noinit()
.SH SYNOPSIS
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
void
bson_copy_to_excluding_noinit (const bson_t *src,
                               bson_t *dst,
                               const char *first_exclude,
                               ...) BSON_GNUC_NULL_TERMINATED;
.ft P
.fi
.UNINDENT
.UNINDENT
.SH PARAMETERS
.INDENT 0.0
.IP \(bu 2
\fBsrc\fP: A \fI\%bson_t\fP\&.
.IP \(bu 2
\fBdst\fP: A \fI\%bson_t\fP\&.
.IP \(bu 2
\fBfirst_exclude\fP: The first field name to exclude.
.UNINDENT
.SH DESCRIPTION
.sp
The \fI\%bson_copy_to_excluding_noinit()\fP function shall copy all fields
from \fBsrc\fP to \fBdst\fP except those specified by the variadic, NULL terminated
list of keys starting from \fBfirst_exclude\fP\&.
Works the same way as \fI\%bson_copy_to_excluding()\fP, except does \fBnot\fP call
\fI\%bson_init()\fP on \fBdst\fP\&.
This function should be preferred in new code over \fI\%bson_copy_to_excluding()\fP\&.
.sp
\fBWARNING:\fP
.INDENT 0.0
.INDENT 3.5
This is generally not needed except in very special situations.
.UNINDENT
.UNINDENT
.SH EXAMPLE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
#include <bson/bson.h>

int main ()
{
   bson_t bson;
   bson_t bson2;
   char *str;

   bson_init (&bson);
   bson_append_int32 (&bson, "a", 1, 1);
   bson_append_int32 (&bson, "b", 1, 2);
   bson_append_int32 (&bson, "c", 1, 2);

   bson_init (&bson2);
   bson_copy_to_excluding_noinit (&bson, &bson2, "b", NULL);

   str = bson_as_json (&bson2, NULL);
   /* Prints
    * { "a" : 1, "c" : 2 }
    */
   printf ("%s\en", str);
   bson_free (str);

   bson_destroy (&bson);
   bson_destroy (&bson2);
}
.ft P
.fi
.UNINDENT
.UNINDENT
.SH AUTHOR
MongoDB, Inc
.SH COPYRIGHT
2017-present, MongoDB, Inc
.\" Generated by docutils manpage writer.
.