bdlb.txt @PURPOSE: Provide basic types and utilities. @MNEMONIC: Basic Development Library Basis (bdlb) @DESCRIPTION: The 'bdlb' package provides utility 'struct's in the broad areas of bit manipulation, string handling, random number generation, and hashing. Classes representing nullable and variant types are also provided. /Hierarchical Synopsis /--------------------- The 'bdlb' package currently has 49 components having 5 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. .. 5. bdlb_bitstringutil bdlb_indexspanstringutil bdlb_indexspanutil 4. bdlb_bigendian bdlb_bitstringimputil bdlb_caselessstringviewequalto bdlb_caselessstringviewless bdlb_indexspan bdlb_nullableallocatedvalue bdlb_nullablevalue bdlb_numericparseutil bdlb_optionalprinter bdlb_printadapter bdlb_variant 3. bdlb_bitmaskutil bdlb_caselessstringviewhash bdlb_guidutil bdlb_printmethods bdlb_random bdlb_string bdlb_stringviewutil 2. bdlb_algorithmworkaroundutil bdlb_arrayutil bdlb_bitutil bdlb_chartype bdlb_cstringequalto bdlb_cstringhash bdlb_cstringless bdlb_float bdlb_functionoutputiterator bdlb_guid bdlb_hashutil bdlb_literalutil bdlb_nullopt bdlb_nulloutputiterator bdlb_pairutil bdlb_pcgrandomgenerator bdlb_print bdlb_randomdevice bdlb_scopeexit bdlb_stringrefutil !DEPRECATED! bdlb_testinputiterator !DEPRECATED! bdlb_tokenizer bdlb_topologicalsortutil bdlb_transformiterator bdlb_transparentequalto bdlb_transparenthash bdlb_transparentless 1. bdlb_nullablevalue_cpp03 !PRIVATE! .. /Component Synopsis /------------------ : 'bdlb_algorithmworkaroundutil': : Provide a namespace for workarounds for faulty standard algorithms : : 'bdlb_arrayutil': : Provide utilities to determine properties of fixed-sized arrays. : : 'bdlb_bigendian': : Provide big-endian integer types. : : 'bdlb_bitmaskutil': : Provide simple mask values of 'uint32_t' and 'uint64_t' types. : : 'bdlb_bitstringimputil': : Provide functional bit-manipulation of 'uint64_t' values. : : 'bdlb_bitstringutil': : Provide efficient operations on a multi-word sequence of bits. : : 'bdlb_bitutil': : Provide efficient bit-manipulation of 'uint32_t'/'uint64_t' values. : : 'bdlb_caselessstringviewequalto': : Provide a case-insensitive equality predicate for string views. : : 'bdlb_caselessstringviewhash': : Provide a case-insensitive hash functor for string views. : : 'bdlb_caselessstringviewless': : Provide a case-insensitive less-than predicate for string views. : : 'bdlb_chartype': : Supply locale-independent version of '<ctype.h>' functionality. : : 'bdlb_cstringequalto': : Provide a standard compatible equality predicate for C-strings. : : 'bdlb_cstringhash': : Provide a functor enabling C-strings as unordered-container keys. : : 'bdlb_cstringless': : Provide a standard compatible less-than predicate for C-strings. : : 'bdlb_float': : Provide floating-point classification types and functions. : : 'bdlb_functionoutputiterator': : Provides an output iterator for a client-supplied functor. : : 'bdlb_guid': : Provide a value-semantic type for Globally Unique Identifiers. : : 'bdlb_guidutil': : Provide functions that produce Globally Unique Identifiers. : : 'bdlb_hashutil': : Provide a utility of hash functions. : : 'bdlb_indexspan': : Provide a value-semantic attribute type for position and length. : : 'bdlb_indexspanstringutil': : Provide functions that operate on 'IndexSpan' and string objects. : : 'bdlb_indexspanutil': : Provide functions that operate on 'IndexSpan' objects. : : 'bdlb_literalutil': : Provide utility routines for programming language literals. : : 'bdlb_nullableallocatedvalue': : Provide a template for nullable allocated (out-of-place) objects. : : 'bdlb_nullablevalue': : Provide a template for nullable (in-place) objects. : : 'bdlb_nullablevalue_cpp03': !PRIVATE! : Provide C++03 implementation for bdlb_nullablevalue.h : : 'bdlb_nullopt': : Provide a tag type and constant indicating an empty nullable value. : : 'bdlb_nulloutputiterator': : Provide an output iterator type that discards output. : : 'bdlb_numericparseutil': : Provide conversions from text into fundamental numeric types. : : 'bdlb_optionalprinter': : Provide a suite of helper classes for printing 'bsl::optional'. : : 'bdlb_pairutil': : Provide a function that creates a pair of references. : : 'bdlb_pcgrandomgenerator': : Provide a class to generate random numbers using the PCG algorithm. : : 'bdlb_print': : Provide platform-independent stream utilities. : : 'bdlb_printadapter': : Provide object for streaming objects using 'bdlb::PrintMethods'. : : 'bdlb_printmethods': : Provide methods for uniform printing of value-semantic types. : : 'bdlb_random': : Provide a suite of procedures for random-number generation. : : 'bdlb_randomdevice': : Provide a common interface to a system's random number generator. : : 'bdlb_scopeexit': : Provide a general-purpose proctor object for scope-exit logic. : : 'bdlb_string': : Provide utility functions on STL-style and C-style strings. : : 'bdlb_stringrefutil': !DEPRECATED! : Provide utility functions on 'bslstl::StringRef'-erenced strings. : : 'bdlb_stringviewutil': : Provide utility functions on 'bsl::string_view' containers. : : 'bdlb_testinputiterator': !DEPRECATED! : Provide a pure input iterator for an empty range. : : 'bdlb_tokenizer': : Provide access to user-described tokens via string references. : : 'bdlb_topologicalsortutil': : Provide a utility to topologically sort a collection of inputs. : : 'bdlb_transformiterator': : Provide a wrapping iterator that invokes a functor on dereference. : : 'bdlb_transparentequalto': : Provide a transparent equality predicate. : : 'bdlb_transparenthash': : Provide a transparent hash functor. : : 'bdlb_transparentless': : Provide a transparent less-than predicate. : : 'bdlb_variant': : Provide a variant (discriminated 'union'-like) type.