[libcxx-commits] [PATCH] D98983: [libcxx] adds concepts `std::totally_ordered` and `std::totally_ordered_with`

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 31 10:54:58 PDT 2021

Mordante accepted this revision as: Mordante.
Mordante added a comment.

LGTM! I'll already approve so @zoecarver can give the final approval.

Comment at: libcxx/include/type_traits:4500
+#if _LIBCPP_STD_VER > 11
+template<class _Tp>
zoecarver wrote:
> cjdb wrote:
> > zoecarver wrote:
> > > Why is this guarded on C++11?
> > We did something similar in the `common_reference` patch where @ldionne and I agreed that it could be guarded on C++11 (I don't recall why). If you //really// want it in C++11 mode, I'll need to know what the C++03 guard is.
> No, I'm saying we might as well remove the guard altogether. Just to make it easier to read/remove code bloat. All the compilers we support allow templated type aliases in C++03. WDYT?
`remove_reference_t` is C++14 when switching to C++11 the code needs to be changed to `typename remove_reference<_Tp>::type`. I've no strong preference whether or not to allow `__make_const_lvalue_ref` in C++03.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list