|
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.
>
Implemented.
> 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.
>
Implemented
> 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
BOOST_FIXED_STRING_STANDALONE
> 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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk