MongoDB C++ Driver
4.2.0
Loading...
Searching...
No Matches
formats.hpp
Go to the documentation of this file.
1
// Copyright 2009-present MongoDB, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include <
bsoncxx/vector/formats-fwd.hpp
>
// IWYU pragma: export
18
19
//
20
21
#include <array>
// IWYU pragma: keep: backward compatibility, to be removed.
22
#include <cstddef>
23
#include <cstdint>
24
25
#include <
bsoncxx/types-fwd.hpp
>
26
#include <
bsoncxx/vector/accessor-fwd.hpp
>
// IWYU pragma: keep: backward compatibility, to be removed.
27
28
#include <
bsoncxx/config/prelude.hpp
>
29
30
namespace
bsoncxx
{
31
namespace
v_noabi
{
32
namespace
vector
{
33
namespace
formats
{
34
36
struct
f_float32
{
37
static
BSONCXX_ABI_EXPORT_CDECL
(std::uint32_t) length_for_append(std::size_t element_count);
38
static
BSONCXX_ABI_EXPORT_CDECL
(
void
)
39
write_frame(std::uint8_t* binary_data, std::uint32_t binary_data_length, std::size_t element_count);
40
static
BSONCXX_ABI_EXPORT_CDECL
(
void
) validate(
types::b_binary
const
& binary);
41
};
42
44
struct
f_int8
{
45
static
BSONCXX_ABI_EXPORT_CDECL
(std::uint32_t) length_for_append(std::size_t element_count);
46
static
BSONCXX_ABI_EXPORT_CDECL
(
void
)
47
write_frame(std::uint8_t* binary_data, std::uint32_t binary_data_length, std::size_t element_count);
48
static
BSONCXX_ABI_EXPORT_CDECL
(
void
) validate(
types::b_binary
const
& binary);
49
};
50
52
struct
f_packed_bit
{
53
static
BSONCXX_ABI_EXPORT_CDECL
(std::uint32_t) length_for_append(std::size_t element_count);
54
static
BSONCXX_ABI_EXPORT_CDECL
(
void
)
55
write_frame(std::uint8_t* binary_data, std::uint32_t binary_data_length, std::size_t element_count);
56
static
BSONCXX_ABI_EXPORT_CDECL
(
void
) validate(
types::b_binary
const
& binary);
57
};
58
59
}
// namespace formats
60
}
// namespace vector
61
}
// namespace v_noabi
62
}
// namespace bsoncxx
63
64
#include <
bsoncxx/config/postlude.hpp
>
65
accessor-fwd.hpp
Declares bsoncxx::v_noabi::vector::accessor.
BSONCXX_ABI_EXPORT_CDECL
#define BSONCXX_ABI_EXPORT_CDECL(...)
Equivalent to BSONCXX_ABI_EXPORT with BSONCXX_ABI_CDECL.
Definition
export.hpp:52
postlude.hpp
The bsoncxx v_noabi macro guard postlude header.
prelude.hpp
The bsoncxx v_noabi macro guard prelude header.
formats-fwd.hpp
Declares entities in bsoncxx::v_noabi::vector::formats.
bsoncxx::v_noabi::vector::formats
Declares supported BSON Binary Vector formats.
bsoncxx::v_noabi::vector
Declarations related to the BSON Binary Vector subtype.
bsoncxx::v_noabi
Declares entities whose ABI stability is NOT guaranteed.
bsoncxx
The top-level namespace within which all bsoncxx library entities are declared.
bsoncxx::v_noabi::types::b_binary
A BSON binary data value.
Definition
types.hpp:268
bsoncxx::v_noabi::vector::formats::f_float32
Vector format for 32-bit floating point elements, packed least significant byte first.
Definition
formats.hpp:36
bsoncxx::v_noabi::vector::formats::f_int8
Vector format for signed 8-bit integer elements.
Definition
formats.hpp:44
bsoncxx::v_noabi::vector::formats::f_packed_bit
Vector format for single bit elements, packed most significant bit first.
Definition
formats.hpp:52
types-fwd.hpp
Declares entities used to represent BSON types.
bsoncxx
v_noabi
bsoncxx
vector
formats.hpp
Generated by
1.15.0