BloombergLP::bdld

Namespace for datum types in the bdl package group.

Types

NameDescription
Datum This class implements a mechanism that provides a space-efficient discriminated union that holds the value of ether scalar type or an aggregate of Datum objects. The size of Datum is 8 bytes (same as a double) on 32-bit platforms and 16 bytes on 64-bit platforms. Separate representation are needed on 32 and 64 bit platforms because of the differing size of a pointer (a 64-bit pointer cannot reasonably be held in a 32-bit footprint).
DatumArrayBuilder This class provides a mechanism to build a Datum object having an array value in an exception-safe manner.
DatumArrayRef This class provides a read-only view to an array of datums. It holds the array by a const pointer and an integral length value. It acts as return value for accessors inside the Datum class that return an array of datums. Note that zero-length arrays are valid.
DatumBinaryRef This class provides a type to represent a pointer to non-modifiable binary data and an integral size value.
DatumError This component class provides a complex constrained attribute type, bdld::DatumError, that represents an error code with an optional descriptive error message. Note that this class holds a reference to the error message and does not make a copy of it.
DatumIntMapBuilder This class provides a mechanism to build a Datum object having an int-map value in an exception-safe manner. See bdld_datum for more information about integer maps.
DatumIntMapEntry This class represents an entry in a datum map keyed by string values.
DatumIntMapRef This class provides a read-only view to a map of datums (an array of DatumIntMapEntry objects). It holds the array by a const pointer and an integral size value. It acts as return value for accessors inside the Datum class that return a map of Datum objects. Note that zero-size maps are valid.
DatumMaker This concrete mechanism class provides "sugar" for easily creating bdld::Datum objects for testing.
DatumMapBuilder This class provides a mechanism to build a Datum object having a map value in an exception-safe manner.
DatumMapEntry This class represents an entry in a datum map keyed by string values.
DatumMapOwningKeysBuilder This class provides a mechanism to build a Datum object having a map (owning keys) value in an exception-safe manner.
DatumMapRef This class provides a read-only view to a map of datums (an array of DatumMapEntry objects). It holds the array by a const pointer and an integral size value. It acts as return value for accessors inside the Datum class that return a map of Datum objects. Note that zero-size maps are valid.
DatumMutableArrayRef This class provides mutable access to a datum array. The users of this class can read from and assign to the individual elements as well as change the length of the array.
DatumMutableIntMapRef This class provides a mutable access to a datum int-map. The users of this class can assign to the individual elements and also change the size of the map.
DatumMutableMapOwningKeysRef This class provides mutable access to a datum key-owning map. The users of this class can assign to the individual elements, copy keys and change the size of the map.
DatumMutableMapRef This class provides a mutable access to a datum map. The users of this class can assign to the individual elements and also change the size of the map.
DatumUdt This class provides a type to represent a pointer to an object of some user-defined type and an integer value denoting what actual type is represented.
DatumUtil This struct serves as a namespace for utility functions that operate on bdld::Datum objects.
Datum_Helpers This struct contains helper functions used to access typed objects within a buffer. The functions assume that objects within the buffers have proper alignment and use casts to suppress compiler warnings about possible alignment problems.
Datum_IntMapHeader This component-local class provides a layout of the meta-information stored in front of the Datum int-maps.
Datum_MakeDependent Metafunction for use in templates to create a dependent type that is identical to the t_WANT_TO_BE_DEPENDENT type specified as first template argument using the t_ALREADY_DEPENDENT type of the user template (of this metafunction).
Datum_MapHeader This component-local class provides a layout of the meta-information stored in front of the Datum maps.
ManagedDatum This class implements a smart-pointer-like resource manager for a Datum object.

Functions

NameDescription
hashAppend Invoke the specified hashAlgorithm on the value of the specified datum object. Note that the value of a User Defined Type in Datum is a combination of its type integer and the address (pointer value), not the actual value of the object that the pointer points to.
swap Exchange the values of the specified a and b objects. This function provides the no-throw exception-safety guarantee if the two objects were created with the same allocator and the basic guarantee otherwise. Note that in case the allocators are different this function places a clone of a into b, and vice versa. See {Value Semantics} on details of the cloning that may happen.
operator<< Stream insertion operators
operator== Equality operators
operator!= Inequality operators
operator< Less-than operators
operator<= Less-than-or-equal operators
operator> Greater-than operators
operator>= Greater-than-or-equal operators