Name |
Description |
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. |