1BSON_CROSS_PLATFORM_NOTES(3) libbson BSON_CROSS_PLATFORM_NOTES(3)
2
3
4
6 The BSON specification dictates that the encoding format is in lit‐
7 tle-endian. Many implementations simply ignore endianness altogether
8 and expect that they are to be run on little-endian. Libbson supports
9 both Big and Little Endian systems. This means we use memcpy() when ap‐
10 propriate instead of dereferencing and properly convert to and from the
11 host endian format. We expect the compiler intrinsics to optimize it to
12 a dereference when possible.
13
15 Libbson's data structures are NOT thread-safe. You are responsible for
16 accessing and mutating these structures from one thread at a time.
17
18 Libbson requires POSIX threads (pthreads) on all UNIX-like platforms.
19 On Windows, the native threading interface is used. Libbson uses your
20 system's threading library to safely generate unique ObjectIds, and to
21 provide a fallback implementation for atomic operations on platforms
22 without built-in atomics.
23
25 MongoDB, Inc
26
28 2017-present, MongoDB, Inc
29
30
31
32
331.25.1 Nov 08, 2023 BSON_CROSS_PLATFORM_NOTES(3)