#include #include #include //type template concept Iteratable = requires(Type tp) { typename Type::iterator; tp.begin(); }; template auto iter(Type const &obj) { return obj.begin(); } //= using namespace std; int main() { string str; cout << *iter(str); iter(queue{}); }