|
BDE 4.14.0 Production release
|
Provide definitions for terms used throughout BDE documentation.
This component documents common terminology that is used throughout the rest of BDE component documentation. The terminology is broken into the following sections:
operator==).operator==) and provide no primitive functionality aside from the standard value-semantic operations with manipulators and accessors to get and set the contained attribute fields.const* thread-safe if its accessors may be invoked concurrently from different threads, but it is not safe to access or modify an object of that class in one thread while another thread modifies the same object.const thread-safe unless documented otherwise.const thread-safe is also minimally thread-safe.try/catch.friend functions) can safely execute concurrently.const thread-safe class that has no manipulators is fully thread-safe.std::lock_guard), which acquires a lock (typically on a mutex) at construction, and releases that lock upon the guard's destruction.operator==).throw. For example, an exception may be injected by calling a method on a contained object (which, in turn, throws), or via a template parameter, virtual function call, or callback.bslma::Allocator may throw a memory-allocation exception. Additionally, a function may test its input to verify that it has been called in-contract (e.g., using bsls_assert ) and may throw an exception in cases where it is called out-of-contract (functions with any undefined behavior, by definition, cannot provide the no-throw guarantee).bslalg::AutoArrayDestructor, which is used to implement exception safety while moving elements within an array, restoring a valid state in case of an exception, or doing nothing once its release method is invoked (after a valid state has been reestablished).operator==), and provide no primitive functionality aside from the standard value-semantic operations with manipulators and accessors to get and set the contained attribute fields.friend function) that can safely execute concurrently on a single object by multiple threads.operator==) and provide no primitive functionality aside from the standard value-semantic operations with manipulators and accessors to get and set the contained attribute fields.struct (or class) serving as a namespace for a suite of C-style (static) functions. These types have no instance data members or instance methods.ostream Printingbslx Serialization (optional)operator==, and the value of an object of that class is defined in terms of operator==: Two objects of a type have the same value if and only if operator==, when applied to these objects, returns true. In addition, types that define a value (i.e., provide operator==) must have the following properties:operator== is commutative (i.e., A == B if and only if B == A).operator!= is the inverse of operator== (i.e., A != B if and only if !(A == B)).bsl::string is a vocabulary type because it is used in the interface of many types to communicate the value of a character string.