[cfe-dev] [libc++] Why doesn't libc++ define std::vector<bool>::const_reference as bool?
Shafik Yaghmour via cfe-dev
cfe-dev at lists.llvm.org
Tue Nov 14 17:34:52 PST 2017
Actually Howard explains this non-conformance in a self answer Stackoverflow question "Why is libc++'s vector<bool>::const_reference not bool?”:
https://stackoverflow.com/q/31974237/1708801
Regards
Shafik
> On Nov 14, 2017, at 5:28 PM, Eric Fiselier via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>
> Looking again, it seems like a libc++ bug. Not sure if Howard intended to be non-conforming here, but it's likely a mistake.
>
> Feel free to file a bug.
>
> /Eric
>
> On Tue, Nov 14, 2017 at 4:20 PM, Hubert Tong <hubert.reinterpretcast at gmail.com <mailto:hubert.reinterpretcast at gmail.com>> wrote:
> On Tue, Nov 14, 2017 at 6:13 PM, Eric Fiselier via cfe-dev <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
> Unless I'm mis-reading the spec, `vector<bool>::const_reference` is implementation defined. Not bool. See [vector.bool] <http://eel.is/c++draft/vector.bool>.
> It says:
> using const_reference = bool;
>
>
>
> /Eric
>
> On Tue, Nov 14, 2017 at 6:39 AM, Mikhail Maltsev via cfe-dev <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
> Hi. According to the C++ Standard (section [vector.bool]), std::vector<bool>::const_reference should be defined as bool. libc++ defines it as std::__1::__bit_const_reference<std::__1::vector<bool, std::__1::allocator<bool>>>]. Is this divergence from the standard intentional? If it is, what is the purpose?
>
> --
> Regards,
> Mikhail Maltsev
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20171114/0f6a0d20/attachment.html>
More information about the cfe-dev
mailing list