.\" 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_MEM_SET_VTABLE" "3" "Feb 22, 2024" "1.26.0" "libbson" .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 .sp .EX typedef struct _bson_mem_vtable_t { void *(*malloc) (size_t num_bytes); void *(*calloc) (size_t n_members, size_t num_bytes); void *(*realloc) (void *mem, size_t num_bytes); void (*free) (void *mem); void *(*aligned_alloc) (size_t alignment, size_t num_bytes); void *padding[3]; } bson_mem_vtable_t; void bson_mem_set_vtable (const bson_mem_vtable_t *vtable); .EE .UNINDENT .UNINDENT .SH PARAMETERS .INDENT 0.0 .IP \(bu 2 \fBvtable\fP: A bson_mem_vtable_t with every non\-padding field set. .UNINDENT .SH DESCRIPTION .sp This function shall install a new memory allocator to be used by Libbson. .sp For backwards compatibility, if \fBvtable\->aligned_alloc\fP is not set, calls to \fBvtable\->aligned_alloc\fP will use \fBvtable\->malloc\fP instead. .sp \fBWARNING:\fP .INDENT 0.0 .INDENT 3.5 This function \fIMUST\fP be called at the beginning of the process. Failure to do so will result in memory being freed by the wrong allocator. .UNINDENT .UNINDENT .SH AUTHOR MongoDB, Inc .SH COPYRIGHT 2017-present, MongoDB, Inc .\" Generated by docutils manpage writer. .