Concept definition requiring a constrained template member function
问题 Note: everything that follows uses the Concepts TS implementation in GCC 6.1 Let's say I have a concept Surface , like the following: template <typename T> concept bool Surface() { return requires(T& t, point2f p, float radius) { { t.move_to(p) }; { t.line_to(p) }; { t.arc(p, radius) }; // etc... }; } Now I want to define another concept, Drawable , which matches any type with a member function: template <typename S> requires Surface<S>() void draw(S& surface) const; i.e. struct triangle {