BDE 3.114.0 Release

Schedule

  • The BDE team announces that the BDE 3.114.0 production release was completed on Tuesday, February 21, 2023.

BDE 3.114.0 Highlights

New Type: bsl::span

The new bsl::span class provides a bounds-safe and type-safe view over a contiguous sequence of elements. The functionality is similar to that of bsl::string_view for strings. The span class is designed to interoperate with ranges.

#include <bsl_span.h>  // 'bsl::span'

void myNewFunction(const bsl::span<int>& foo);

int main()
{
    int                 myArray[100];
    bsl::vector<int>    myVector[10];
    bsl::array<int, 10> myArrayObject;

    myNewFunction(bsl::span<int>(myArray));
    myNewFunction(bsl::span<int>(myVector.begin(), myVector.end());
    myNewFunction(bsl::span<int>(myArrayObject));
}

Note that users of bsl::span should include the canonical header file, bsl_span.h, not bslstl_span.h.

The standard class std::span is feature of C++20; however, bsl::span works on all versions of C++ (back to C++03). Note that for users of C++20, bsl::span is an alias to std::span.

Enhancement: bslmt::ThreadAttributes

The bslmt::ThreadAttributes class now provides a print method and a operator<<, as befits an attribute class.

Enhancement: ball::RecordStringFormatter

The ball::RecordStringFormatter nows supports two additional record format specifications that provide timestamps with local time offsets from UTC:

SPEC

Description

Example

%dtz

timestamp in ‘DDMonYYYY_HH:MM:SS.mmm(+|—–)HHMM’ format

27AUG2007_16:09:46.161+0000

%Dtz

timestamp in ‘DDMonYYYY_HH:MM:SS.mmmuuu(+|—–)HHMM’ format

27AUG2007_16:09:46.161324+0000

New Component: bbldc_basicactual36525

The new component bbldc_basicactual3652 provides support for the Actual/365.25 day-count convention.

Fixed requests:

Summary

minor optimizations to bdlt_calendarutil.cpp

‘balb::PipeControlChannel’ hangs on Windows if the client does not close the connection

bslh::hash: Custom hash algorithm fails for string_view

github: Fix bdlmt_timereventscheduler.t test failure

Apply _t transformation to bslmf

Add new record specifier for timezone

Make bslmt::ThreadAttributes printable

Fix potential derefence and use of end iterators in NumberUtil::isValidNumber

Please add a fuzz test to bdljsn

WyHashIncrementalAlgorithm::prePad() triggers UBSAN

Please fix nightly build failure of bdlt_iso8601util for opt sun

add bsl_span.h header

Remove intrin.h includes from bsls_splinlock.h

bsls_platform.h: Error: Synonym API level macro undefined when _WIN32_WINNT is undefined

‘bdlma::GuardingAllocator’: Improve doc and add Usage example

Please add support for ACT/365.25 to BBLDC

Suppress gcc pragma for clang

remove more bsl overrides std litter

bde-verify: Compile against Clang-14 or newer.

‘bdljsn’ and zipcodes

bde/bde-bb: Support dual mode build system (BBS)

Changes to bde_rename to support a lint tool