[libcxx-commits] [PATCH] D117714: [WIP][libc++] Implement LWG3549: view_interface need not inherit from view_base

Joe Loser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jan 19 16:33:36 PST 2022


jloser added a comment.

In D117714#3256022 <https://reviews.llvm.org/D117714#3256022>, @Quuxplusone wrote:

> @jloser: I believe the intended implementation technique here is
>
>   template<class U> std::true_type f(std::view_interface<U>*);
>   std::false_type f(...);
>   template<class T> using the_thing = decltype(f( (T*)nullptr ));
>
> (with all the obvious uglifications etc). Check out what we do for `enable_shared_from_this` and/or grep for any other places in the Standard that use that same "unique public base class" phrasing. (I have not checked, myself.)

Yeah, that's about what I'd expect. I just updated the definition of `enable_view` to reflect this which should pass CI.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117714/new/

https://reviews.llvm.org/D117714



More information about the libcxx-commits mailing list