[Boost][Container] Why is flat_set default constructor explicit?
Hi all,
I just found out that all Boost.Container default constructors are implicit
(just as I would expect) except for flat_set.
Quoting from [1]:
explicit flat_set() noexcept(/*snip*/);
Effects: Default constructs an empty container.
Why is flat_set different than the other containers?
Is this an oversight?
FWIW this issue is breaking my C++14 code (for both clang and gcc) when
switching from std::set to boost::container::flat_set, minimal repro
follows:
#include
On 17/08/2017 17:02, dariomt--- via Boost-users wrote:
Hi all,
I just found out that all Boost.Container default constructors are implicit (just as I would expect) except for flat_set.
It's a bug introduced when a single constructor with default arguments was split in multiple constructors. Fixed in: https://github.com/boostorg/container/commit/863b6e0d3246a1db225675710c34adf... Many thanks. Ion
participants (2)
-
dariomt@gmail.com
-
Ion Gaztañaga