Resources By Topic

This page contains library documentation, documents, and presentations grouped by subject area.

Allocators

BDE objects that allocate memory are designed to use a user-defined memory allocating mechanism (i.e., an allocator) that is specified on object construction. Note that, unlike allocators specified as class-template parameters (à la policy-based design), specifying an allocator this way does not define a new type. Different objects of the same type can use different allocator mechanisms, and still fully interact with each other.

Date and Time

BDE Provides types for representing dates, times, and calendars, as well as common facilities for operating on these types (e.g., obtaining the current system time, converting time values between time zones).

Calendars

A range of dates with weekly designated non-business days (i.e., weekend days) and other designated special days (i.e., holidays).

  • Library Documentation

    • Calendar protocols and types: bdlt.

Current Date and Time

Date and Time

Time Zones

Timing

Conversions

Decimal Floating-Point

Defensive Programming

Redundant code providing optional run-time checks to validate preconditions (and invariants):

Encodings & Hashings

Function Abstractions

Objects that serve as functions:

  • Library Documentation

    • Functor creation: bdlf.

Glossary of BDE Terminology

Logging and Metrics

Publish status from a running program

Messaging

Serialization of values in different formats:

Miscellaneous

OS Operations

  • Library Documentation

Parsing

Smart Pointers

Mechanisms for managing resource recovery:

Stack Traces & Stack-Recording Allocator

  • Library Documentation

Testing

Threads

Concurrent programming:

  • Library Documentation

    • Thread Primitives: Atomic integers: bsls_atomic.

    • Thread Primitives: Mutexes, semaphores, read-write locks, and thread-management: bslmt.

    • Thread-Safe Containers: bdlcc.

    • Thread Pools and Event Schedulers: bdlmt.

  • Documents

Traits

  • Library Documentation

    • Types and meta-functions for writing generic libraries: bslmf.

Vocabulary & Data Structures