BDE 3.104.0 Release

Schedule

  • The BDE team announces that the BDE 3.104.0 production release was completed on Monday, July 11, 2022.

BDE 3.104.0 Highlights

Continued Addition of C++17 Type Aliases

This release adds bsl:: aliases for the C++17 features in bsl_functional.h, and bsl::string_view. Additionally, implementations (including C++03 implementations) for bsl::clamp, bsl::erase, and bsl::erase_if are provided. This is part of the general effort to simplify the use of bsl:: names, and in general better support C++17.

New Component, bdlb_printadapter

BDE 3.104.0 introduced a new component bdlb_printadapter the simplifies streaming an object that is printable with bdlb::PrintMethods. These are typically objects implementing the standard BDE print method, bsl::ostream& print(bsl::ostream& stream, int level, int spacesPerLevel).

This adapter is helpful when streaming potentially complex objects implementing print in a more human readable (multi-line) format. operator<< typically outputs on a single line, which can be hard to read for complex nested objects. For example (using C++17):

void processRequest(const Request& request) {

    // ...

    // Calls 'reqeust.print(stream, 1, 3)':

    BALL_LOG_ERROR << "Failer to process request: " << bdlb::PrintAdaptor(&request, 1, 3);

    return -1;
}

Fixed requests:

Summary

bdlb_printadapter: Generic printer object

matrix_build handling of split test drivers

bslim_gtestutil: add ‘PrintTo’ supporting bsl::optional<T>

bslma_allocatortraits has unwise dependency on bslma_stdalloca

Add bsl::clamp, erase and erase_if

GCC11: ‘bslstl_function_invokerutil.t.cpp’: failure in TC6

GCC11: ‘bsls_assert.t.cpp’: TCs 10,11,14,17 abort in no-exceptio

balcl_optionalvalue: Add explicit operator=()

Make test driver for bcec_fixedqueueindexmanager an alias test

Add C++17 type aliases to bslstl_stringview.h and bsl_functional.

GCC11: ‘bdlc_flathashmap.t.cpp’: build failure on ‘insert’ overloa

XLC16 optimized-only test driver crashes

bdlde_crc32c: Please fix typo disabling SSE4.2 implementation

clean up bde and bde-classic dep files

sim_cpp11_features.pl does not handle variadic union templates

PR 3661 introduced an MSVC C++17 build error

GCC11: CPP20: ‘bdlb_dataum.cpp’: component build warning.

MSVC 2017 compiler crashes building CTAD test

Workaround for bslstl_stringview build error on Solaris 5.12.6

GCC11: CPP20: ‘bdlma_concurrentfixedpool.cpp’: component build warning.

correct bal build warnings due to balcl_commandline

improve bslmf_functionpointertraits.f to reduce darwin warnings

Resolve more compiler warnings when building BDE and tests

Replace OTHER_TYPE in the template paramenters in BDE.

Release BDE 3.104.0