Trait describing whether T
is a template instance of Template
.
More...
#include <MetaUtils.h>
Trait describing whether T
is a template instance of Template
.
Template | template class to be detected |
T | type to be tested |
This trait is true if the type T
is an instance of template class Template
, that is, if T
is Template<...>
, with the ellipsis represents any template argument. Before being tested, T
is stripped of reference and constantness qualifiers, so that for example the answer will be the same for std::vector<int>
as for std::vector<int> const
, std::vector<int> volatile&
, etc.
Template
types taking only type arguments can be used. For example, attempting to use it with std::array
, which contains a non-type argument (of type std::size_t
), will cause a compilation error. For example, GCC 7.2 reports: Definition at line 369 of file MetaUtils.h.