bdlat.txt @PURPOSE: Provide generic functions to manipulate attribute types @MNEMONIC: Basic Development Library Attribute Types (bdlat) @DESCRIPTION: The 'bdlat' package provides generic functions to work with the different concepts of attribute types. These concepts group common behaviors ("array", "choice", "enumeration", "nullable", "sequence", or "value type"). Once a type is made a model of one of these concepts, it can be used seamlessly by generic code such as the xml/ber encoders and decoders. Therefore, whenever a new type needs to be encodable, the codecs themselves do not need to be modified, but the type just needs to implement the necessary functions to expose the concept. /Hierarchical Synopsis /--------------------- The 'bdlat' package currently has 19 components having 6 levels of physical dependency. The list below shows the hierarchical ordering of the components. The order of components within each level is not architecturally significant, just alphabetical. .. 6. bdlat_arrayiterators bdlat_symbolicconverter 5. bdlat_arrayutil bdlat_nullablevalueutil bdlat_valuetypefunctions 4. bdlat_typecategory 3. bdlat_arrayfunctions bdlat_choicefunctions bdlat_customizedtypefunctions bdlat_enumfunctions bdlat_sequencefunctions bdlat_typename 2. bdlat_attributeinfo bdlat_enumeratorinfo bdlat_formattingmode bdlat_nullablevaluefunctions bdlat_selectioninfo bdlat_typetraits 1. bdlat_bdeatoverrides .. /Component Synopsis /------------------ : 'bdlat_arrayfunctions': : Provide a namespace defining "array" functions. : : 'bdlat_arrayiterators': : Provide iterator support for bdlat_ArrayFunction-conformant types. : : 'bdlat_arrayutil': : Provide utilities for operating on 'bdlat' "array" types. : : 'bdlat_attributeinfo': : Provide a container for attribute information. : : 'bdlat_bdeatoverrides': : Provide macros to map 'bdeat' names to 'bdlat' names. : : 'bdlat_choicefunctions': : Provide a namespace defining choice functions. : : 'bdlat_customizedtypefunctions': : Provide a namespace defining customized type functions. : : 'bdlat_enumeratorinfo': : Provide a container for enumerator information. : : 'bdlat_enumfunctions': : Provide a namespace defining enumeration functions. : : 'bdlat_formattingmode': : Provide formatting mode constants. : : 'bdlat_nullablevaluefunctions': : Provide a namespace defining nullable value functions. : : 'bdlat_nullablevalueutil': : Provide utilities for operating on 'bdlat' "nullable value" types. : : 'bdlat_selectioninfo': : Provide a container for selection information. : : 'bdlat_sequencefunctions': : Provide a namespace defining sequence functions. : : 'bdlat_symbolicconverter': : Provide a utility for convert types with matching member symbols. : : 'bdlat_typecategory': : Provide type category tags and a tag selection meta-function. : : 'bdlat_typename': : Provide string representations for data type names. : : 'bdlat_typetraits': : Provide compile-time traits for generated types. : : 'bdlat_valuetypefunctions': : Provide a namespace for "value type" functions.