<
classTemplateInstantiationCallbackPtrs>
43void initialize(TemplateInstantiationCallbackPtrs &Callbacks,
44 const Sema&TheSema) {
45 for(
auto&
C: Callbacks) {
47 C->initialize(TheSema);
51template<
classTemplateInstantiationCallbackPtrs>
52void finalize(TemplateInstantiationCallbackPtrs &Callbacks,
53 const Sema&TheSema) {
54 for(
auto&
C: Callbacks) {
56 C->finalize(TheSema);
60template<
classTemplateInstantiationCallbackPtrs>
64 for(
auto&
C: Callbacks) {
66 C->atTemplateBegin(TheSema, Inst);
70template<
classTemplateInstantiationCallbackPtrs>
74 for(
auto&
C: Callbacks) {
76 C->atTemplateEnd(TheSema, Inst);
Sema - This implements semantic analysis and AST building for C.
This is a base class for callbacks that will be notified at every template instantiation.
virtual void atTemplateEnd(const Sema &TheSema, const Sema::CodeSynthesisContext &Inst)=0
Called when instantiation of a template is just about to end.
virtual void finalize(const Sema &TheSema)=0
Called after AST-parsing is completed.
virtual void initialize(const Sema &TheSema)=0
Called before doing AST-parsing.
virtual ~TemplateInstantiationCallback()=default
virtual void atTemplateBegin(const Sema &TheSema, const Sema::CodeSynthesisContext &Inst)=0
Called when instantiation of a template just began.
The JSON file list parser is used to communicate input to InstallAPI.
void atTemplateEnd(TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema, const Sema::CodeSynthesisContext &Inst)
void atTemplateBegin(TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema, const Sema::CodeSynthesisContext &Inst)
void initialize(TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema)
void finalize(TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema)
A context in which code is being synthesized (where a source location alone is not sufficient to iden...
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4