Boost logo

Boost :

From: Krystian Stasiowski (sdkrystian_at_[hidden])
Date: 2019-12-16 00:45:46

On Sun, Dec 15, 2019 at 3:53 PM Joaquin M López Muñoz via Boost <
boost_at_[hidden]> wrote:

> Candidate Boost.FixedString is ACCEPTED into Boost.

  Thank you again for managing the review :) Here is what has been
implemented thus far:

3. constexpr as much as possible, taking into account that, pre C++20,
> this requires
> zero initialization of the data array.

Implemented, but tests need to be written

> 4. noexcept as much as possible and, in principle, at least as much as
> std::string.

Mostly implemented (some more complex conditional noexcepts need to be done)

> 5. Provide hash overloads. Up to the authors if they want to cover
> Boost.Hash as well.

Support for std::hash and Boost.Hash have been implemented

> 6. Determine the exact behavior on capacity overflow.

I think we will stick with exceptions, and add a macro that disables
exceptions and instead makes them precondition violations

> 7. Make substr return a fixed_string rather than a view, and
> additionally provide a
> view-returning subview member function.


> 9 There are wrong "size() + m > max_size()" checks (they could overflow)
> in the code.

This has been addressed

> 13. Determine if fixed_string<0> should be specialized or not to make it
> more memory efficient.

This has been implemented, so feel free to play around with it

> 15. Optimize the type of the internal size data member when size_t is
> larger than
> necessary.


> 16. BOOST_FIXED_STRING_USE_BOOST is unconditionally defined within the
> code.

This has been addressed. In addition to that, it has been renamed to

> 22. Store size (as capacity-size) in the last char of the data array, so
> as to save one memory byte.

This has been implemented, there will be a macro to enable/disable this.

Boost list run by bdawes at, gregod at, cpdaniel at, john at