acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
specializes Concept Reference

Checks if class type Specialisation (the implicit concept argument) is indeed a specialisation of TemplateClass type (e.g. satisfied for TemplateClass=SomeLibrary and Specialisation=SomeLibrary<A, B>). Also accepts classes deriving from specialised TemplateClass. More...

#include <pointer.h>

Concept definition

template<class specialization, template<typename> class template_class, typename ...partial_specialization>
concept specializes = requires (specialization s) {
[] <typename ...template_args>(
template_class<partial_specialization..., template_args...>&) {}(s);
}
Checks if class type Specialisation (the implicit concept argument) is indeed a specialisation of Tem...
Definition pointer.h:1398

Detailed Description

Checks if class type Specialisation (the implicit concept argument) is indeed a specialisation of TemplateClass type (e.g. satisfied for TemplateClass=SomeLibrary and Specialisation=SomeLibrary<A, B>). Also accepts classes deriving from specialised TemplateClass.

tparam PartialSpecialisation optional partial specialisation of the TemplateClass to be required