BDE 3.120.1 Release

Schedule

  • The BDE team announces that the BDE 3.120.1 production release was completed on Monday, July 17, 2023.

BDE 3.120.1 Highlights

bdlt::Iso8601Util Supports Additional Configuration Options

Iso8601Util now supports the parsing the “basic” ISO-8601 format described in the ISO-8601 standard. The “basic format” does not have the ‘-‘ characters associated with the date elements of a value, nor the ‘:’ characters associated with the time elements.

Format

Example

default (“extended”) format

2023-07-18T18:18:53Z

new (“basic”) format

20230718T181853Z

Support for parsing this format must be explicitly enabled by using the new bdlt::Iso8601ParseConfiguration object.

Note

We discourage using the “basic” format except where required for compatibility with external data sources.

bdlma::HeapBypassAllocator is Now Thread Safe

The bdlma::HeapBypassAllocator has been updated to be thread-safe. This component can be used to allocate memory directly from virtual memory, bypassing the heap.

C++20 Features

This release adds assorted C++20 features and aliases. Including:

  • Added bsl::make_shared_for_overwrite and bsl::allocate_shared_for_overwrite, used to created shared pointers managing default initialized values (useful, for example, to create a shared-point managing an array of integers without initializing each integer value). See cppreference for make_shared.

  • Added bsl::basic_syncbuf, bsl::syncbuf, bsl::wsyncbuf, bsl::basic_osyncstream, bsl::osyncstream, and bsl::wosyncstream. These components allow multiple threads synchronized access to a stream. See bslstl_syncbuf, bslstl_osyncstream and cppreference for osyncstream

Fixed DRQSs:

Summary

bsls::SpinLock generates -Wdeprecated-copy warning/error in Clang 14

bdlt_iso8601util allow for strings with no minus sign in the date and no colon in th

C++20 work: Add a BDE allocator-aware implementation of the ‘std::basic_syncbu

C++20 work: Add a BDE allocator-aware implementation of the ‘std::basic_osyncst

C++20 work: Add the ‘make_shared_for_overwrite’ and the ‘allocate_shared_for_o

C++20 work: Add aliases for the type traits

C++20 work: Add aliases to <bsl_type_traits.h>

C++20 work: Verify that bsl containers model the appropriate C++20 concepts for

Implement ‘forward_like’

correct bal compile warnings

Please add CANONICAL header annotation to bslstl_hashtableiterator.h

Use thread_local keyword in bslmt_threadlocalvariable

bdlcc::Cache documentation questions

Deprecate the type alias Value on ‘true_type’ and ‘false_type’

Build failure with Visual Studio 17.6.2

Don’t use deprecated ‘{true|false}_type::VALUE’

Fix compilerfeatures indentation

Fix bsls_libraryfeatures edit mistakes

bsl::filesystem namespace lacks begin() and end() functions

Make bdlma::HeapBypassAllocator thread-safe

Please add begin/end overloads for valarray and initializer_list

Fix Solaris detection in numericparseutil.cpp

Update bslmf_isarray.h documentation for newly added traits

Never use deprecated ‘{true|false}_type::VALUE’

C++20 work: ‘std::range’ and ‘bsl::array’: test failures on Windows cpp20