AnyType
A BSON metatype. The raw value of this enumeration is the type code of the associated case in BSON’s ABI.
@frozen enum AnyType
A BSON metatype. The raw value of this enumeration is the type code of the associated case in BSON’s ABI.
@frozen enum AnyType
import BSONABI
Models the BSON type system and the binary interface of the BSON serialization format.
@frozen enum BSON
The namespace for all BSON types.
case double
case string
case document
case list
case binary
case id
case bool
case millisecond
case null
case regex
case pointer
case javascript
case javascriptScope
case int32
case timestamp
case int64
case decimal128
case min
case max
@frozen enum AnyValue
Any BSON value.
protocol BufferFrame : BSON.BufferFrameType
A type that augments a BufferFrameType
conformance with a BSON metatype value. This is a derived protocol because it is sometimes useful to repurpose the BSON frame parsing machinery for additional (fictional) frame types that never appear in BSON data.
protocol BufferFrameType
A type that specifies the layout of a variable-length BSON view. Parsers use conforming types to decide how to interpret BSON length headers read from input data.
protocol BufferTraversable
A framed type that BSON parsers can traverse in constant time.
protocol Decoder
protocol Encoder<Frame>
protocol OutputStream
@frozen struct BinaryBuffer<Element> where Element : BitwiseCopyable
A BinaryBuffer
is a typed view of an ArraySlice
as a densely-packed buffer of trivial Element
s. It’s a good idea to use something unpretentious like a tuple of fixed-width integers for the Element
type, to avoid unexpected padding behavior.
@frozen enum BinaryFrame
Specifies the interpretation of a length header attached to a binary
array.
@frozen struct BinarySubtype
A BSON binary metatype. This type’s public API performs canonicalization and therefore instances of this type are safe to compare.
@frozen struct BinarySubtypeError
The subtype byte of a binary array matched a reserved bit pattern.
@frozen struct BinaryView<Bytes> where Bytes : RandomAccessCollection, Bytes.Element == UInt8
A BSON binary array.
@frozen struct BinaryViewError
A binary view was sliced from a malformed storage buffer.
@frozen struct BooleanSubtypeError
A byte encoding a boolean value was not 0
or 1
.
@frozen struct Decimal128
An opaque IEEE 754-2008 decimal.
@frozen struct Document
The Document
type models the “universal” BSON DSL.
@frozen enum DocumentFrame
Specifies the interpretation of a length header attached to a document
, or a list
document.
@frozen struct FieldEncoder
A type that can serialize any BSON container element.
@frozen struct HeaderError<Frame> where Frame : BSON.BufferFrameType
@frozen struct Identifier
A MongoDB object reference. This type models a MongoDB ObjectId
.
@frozen struct Input
A type for managing BSON parsing state. Most users of this module should not need to interact with it directly.
@frozen struct InputError
A parser did not receive the expected amount of input.
@frozen enum IntegerOverflowError<Overflowed> where Overflowed : FixedWidthInteger
An overflow occurred while casting an integer value to a desired type.
@frozen struct Key
A BSON field key. This type wraps a rawValue
that is guaranteed to never contain null bytes. (Null bytes in a BSON field key can be exploited to perform SQL injection.)
@frozen struct List
@frozen struct Max
The MongoDB max-key. This type has a single state, and is isomorphic to Void
. It is mainly used by the decoding and encoding layers as an API landmark.
@frozen struct Min
The MongoDB min-key. This type has a single state, and is isomorphic to Void
. It is mainly used by the decoding and encoding layers as an API landmark.
@frozen struct Null
@frozen struct Output
@frozen struct Regex
A MongoDB regex.
@frozen struct Shape
An efficient interface for checking the shape of a list or binary array at run time.
@frozen struct ShapeError
A list had an invalid number of elements or a binary array had an invalid number of bytes.
@frozen struct Timestamp
@frozen struct TypeError
A variant code did not encode a valid BSON type.
@frozen struct TypecastError<Value>
A decoder failed to cast a variant to an expected value type.
@frozen enum UTF8Frame
Specifies the interpretation of a length header attached to UTF-8 string
.
@frozen struct UTF8View<Bytes> where Bytes : BidirectionalCollection, Bytes.Element == UInt8
A BSON UTF-8 string. This string is allowed to contain null bytes.
typealias BinaryArray = BinaryBuffer
typealias Millisecond = UnixMillisecond
protocol BitwiseCopyable
protocol Comparable : Equatable
A type that can be compared using the relational operators <
, <=
, >=
, and >
.
protocol Copyable
A type whose values can be implicitly or explicitly copied.
protocol Equatable
A type that can be compared for value equality.
protocol Escapable
protocol Hashable : Equatable
A type that can be hashed into a Hasher
to produce an integer hash value.
protocol RawRepresentable<RawValue>
A type that can be converted to and from an associated raw value.
protocol Sendable
init(code: UInt8) throws
Calls init(rawValue:)
, but throws a TypeError
instead of returning nil.
init?(rawValue: UInt8)
Converts the given type code to a variant type. This function will canonicalize deprecated type codes that have an isomorphic modern equivalent, but it will never change the pointer
and javascriptScope
types, because they do not have modern equivalents.
static func < (a: `Self`, b: `Self`) -> Bool
var hashValue: Int { get }
static func != (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether two values are not equal.
static func ... (minimum: Self) -> PartialRangeFrom<Self>
Returns a partial range extending upward from a lower bound.
static func ... (maximum: Self) -> PartialRangeThrough<Self>
Returns a partial range up to, and including, its upper bound.
static func ... (minimum: Self, maximum: Self) -> ClosedRange<Self>
Returns a closed range that contains both of its bounds.
static func ..< (maximum: Self) -> PartialRangeUpTo<Self>
Returns a partial range up to, but not including, its upper bound.
static func ..< (minimum: Self, maximum: Self) -> Range<Self>
Returns a half-open range that contains its lower bound but not its upper bound.
static func <= (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.
static func > (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.
static func >= (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.
func hash(into hasher: inout Hasher)
import BSONEncoding
protocol BSONEncodable
A type that can be encoded to a BSON variant value.
func encode(to field: inout BSON.FieldEncoder)
Encodes this metatype as a value of type int32
.