On Thursday, 24 December 2020 at 09:56:50 UTC, Ola Fosheim Grøstad wrote:
[snip]

I don't use concepts yet as it is a very new C++ feature. The following code does not work in XCode, although it probably should according to cppreference. So take this with a grain of salt (other variations should be possible):

namespace detail {
  template<template<typename> typename F, class U>
  constexpr void _is_instantiable(F<U> a){}
}

template<class T>
struct Foo{};

template<class T>
concept Fooish = requires(T a){
    detail::_is_instantiable<Foo>(a);
};

That Foo-ish reminds me of something in D like

    static if (__traits(compiles, {
        auto temp = Foo!T.init;
    }))
              • ... aberba via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... 9il via Digitalmars-d-announce
              • ... aberba via Digitalmars-d-announce
              • ... jmh530 via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... jmh530 via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... 9il via Digitalmars-d-announce
  • Re: Printing shortest deci... James Blachly via Digitalmars-d-announce

Reply via email to