Returns: A
vector containing all of the reflections
R
representing each annotation applying to:
- if item represents a function parameter P of a function F,
then the declaration of P in each declaration of F in S(F),
- otherwise, if item represents a function F,
then each declaration of F in S(F),
- otherwise, if item represents
a direct base class relationship (D,B),
then the corresponding base-specifier
in the definition of D,
- otherwise, each declaration of the entity represented by item,
such that each specified declaration is reachable from either
some point in the evaluation context (
[expr.const.reflect]) or
a point immediately following the
class-specifier
of the outermost class for which such a point is in a complete-class context
. For any two reflections
R1 and
R2 in the returned
vector,
if the annotation represented by
R1 precedes the annotation represented by
R2,
then
R1 appears before
R2. If
R1 and
R2 represent annotations from the same translation unit
T,
any element in the returned
vector between
R1 and
R2
represents an annotation from
T. [
Note 1:
The order in which two annotations appear is otherwise unspecified
. —
end note]