Do C++ Concepts allow for my class at declaration/definition to specify it satisfies certain concept? : <p>Currently best way I can think of is to use static_assert, but I would prefer nicer way.</p>

<pre><code>#include &lt;set&gt;
#include &lt;forward_list&gt;

using namespace std;

template&lt;typename C&gt;
concept bool SizedContainer = requires (C c){
    c.begin();
    c.end();
    {c.size()} -&gt; size_t;
};

static_assert(SizedContainer&lt;std::set&lt;int&gt;&gt;);
static_assert(!SizedContainer&lt;std::forward_list&lt;int&gt;&gt;);
static_assert(!SizedContainer&lt;float&gt;);

class MyContainer{
public:
    void begin(){};
    void end(){};
    size_t size(){return 42;}; 
};

static_assert(SizedContainer&lt;MyContainer&gt;);



int main()
{
}
</code></pre>
