#ifndef FOO_H #define FOO_H template concept Range = requires(T &t) { t.begin(); }; struct A { public: template using range_type = T; }; #endif