In addition, if
C is defined
and its definition satisfies the conditions for
an aggregate class (
[dcl.init.aggr])
with the assumption that any dependent base class has
no virtual functions and no virtual base classes, and
the initializer is a non-empty
braced-init-list or
parenthesized
expression-list, and
there are no
deduction-guides for
C,
the set contains an additional function template,
called the
aggregate deduction candidate, defined as follows
. If
A is a deducible template (
[dcl.type.simple]),
the set contains the guides of
A
with the return type
R of each guide
replaced with
typename CC<R>::type given a class template
template <typename> class CC;
whose primary template is not defined and
with a single partial specialization
whose template parameter list is that of
A and
whose template argument list is a specialization of
A with
the template argument list of
A (
[temp.dep.type])
having a member typedef
type designating a template specialization with
the template argument list of
A but
with
C as the template
.