それもtemplateに

http://d.hatena.ne.jp/faith_and_brave/20081125/1227604874

これの14

template<concept It>
concept Range<typename T> {
	It iterator;
	iterator begin(T&);
	iterator end(T&);
};

template<Range<RandomAccessIterator> Rng>
void sort(Rng& range) {
	std::sort(begin(range), end(range));
}


concept templateとか、更にconcept template parameterにconceptを指定したくなるとか。

もうconceptなくてもいいような気さえしてきた