TemplateTypeParameter

Syntax: ident : specType = defaultType

Constructors

this
this(Loc loc, Identifier ident, Type specType, Type defaultType)
Undocumented in source.

Members

Functions

accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
declareParameter
bool declareParameter(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
defaultArg
RootObject defaultArg(Loc instLoc, Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
dummyArg
void* dummyArg()
Undocumented in source. Be warned that the author may not have intended to support it.
hasDefaultArg
bool hasDefaultArg()
Undocumented in source. Be warned that the author may not have intended to support it.
isTemplateTypeParameter
TemplateTypeParameter isTemplateTypeParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
matchArg
MATCH matchArg(Scope* sc, RootObject oarg, size_t i, TemplateParameters* parameters, Objects* dedtypes, Declaration* psparam)
Undocumented in source. Be warned that the author may not have intended to support it.
print
void print(RootObject oarg, RootObject oded)
Undocumented in source. Be warned that the author may not have intended to support it.
semantic
bool semantic(Scope* sc, TemplateParameters* parameters)
Undocumented in source. Be warned that the author may not have intended to support it.
specialization
RootObject specialization()
Undocumented in source. Be warned that the author may not have intended to support it.
syntaxCopy
TemplateParameter syntaxCopy()
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

tdummy
Type tdummy;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Variables

defaultType
Type defaultType;
Undocumented in source.
specType
Type specType;
Undocumented in source.

Inherited Members

From TemplateParameter

loc
Loc loc;
Undocumented in source.
ident
Identifier ident;
Undocumented in source.
dependent
bool dependent;
Undocumented in source.
isTemplateTypeParameter
TemplateTypeParameter isTemplateTypeParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
isTemplateValueParameter
TemplateValueParameter isTemplateValueParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
isTemplateAliasParameter
TemplateAliasParameter isTemplateAliasParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
isTemplateThisParameter
TemplateThisParameter isTemplateThisParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
isTemplateTupleParameter
TemplateTupleParameter isTemplateTupleParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
syntaxCopy
TemplateParameter syntaxCopy()
Undocumented in source.
declareParameter
bool declareParameter(Scope* sc)
Undocumented in source.
semantic
bool semantic(Scope* sc, TemplateParameters* parameters)
Undocumented in source.
print
void print(RootObject oarg, RootObject oded)
Undocumented in source.
specialization
RootObject specialization()
Undocumented in source.
defaultArg
RootObject defaultArg(Loc instLoc, Scope* sc)
Undocumented in source.
hasDefaultArg
bool hasDefaultArg()
Undocumented in source.
matchArg
MATCH matchArg(Loc instLoc, Scope* sc, Objects* tiargs, size_t i, TemplateParameters* parameters, Objects* dedtypes, Declaration* psparam)

Match to a particular TemplateParameter. Input: instLoc location that the template is instantiated. tiargs[] actual arguments to template instance i i'th argument parameters[] template parameters dedtypes[] deduced arguments to template instance *psparam set to symbol declared and initialized to dedtypesi

matchArg
MATCH matchArg(Scope* sc, RootObject oarg, size_t i, TemplateParameters* parameters, Objects* dedtypes, Declaration* psparam)
Undocumented in source.
dummyArg
void* dummyArg()
Undocumented in source.
accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta