#include "TListOfFunctionTemplates.h"
#include "TClass.h"
#include "TExMap.h"
#include "TFunction.h"
#include "TFunctionTemplate.h"
#include "TMethod.h"
#include "TInterpreter.h"
#include "TVirtualMutex.h"
ClassImp(TListOfFunctionTemplates)
TListOfFunctionTemplates::TListOfFunctionTemplates(TClass *cl) : fClass(cl),fIds(0),
fUnloaded(0),fLastLoadMarker(0)
{
fIds = new TExMap;
fUnloaded = new THashList;
}
TListOfFunctionTemplates::~TListOfFunctionTemplates()
{
THashList::Delete();
delete fIds;
fUnloaded->Delete();
delete fUnloaded;
}
void TListOfFunctionTemplates::MapObject(TObject *obj)
{
TFunctionTemplate *f = dynamic_cast<TFunctionTemplate*>(obj);
if (f) {
fIds->Add((Long64_t)f->GetDeclId(),(Long64_t)f);
}
}
void TListOfFunctionTemplates::AddFirst(TObject *obj)
{
THashList::AddFirst(obj);
MapObject(obj);
}
void TListOfFunctionTemplates::AddFirst(TObject *obj, Option_t *opt)
{
THashList::AddFirst(obj,opt);
MapObject(obj);
}
void TListOfFunctionTemplates::AddLast(TObject *obj)
{
THashList::AddLast(obj);
MapObject(obj);
}
void TListOfFunctionTemplates::AddLast(TObject *obj, Option_t *opt)
{
THashList::AddLast(obj, opt);
MapObject(obj);
}
void TListOfFunctionTemplates::AddAt(TObject *obj, Int_t idx)
{
THashList::AddAt(obj, idx);
MapObject(obj);
}
void TListOfFunctionTemplates::AddAfter(const TObject *after, TObject *obj)
{
THashList::AddAfter(after, obj);
MapObject(obj);
}
void TListOfFunctionTemplates::AddAfter(TObjLink *after, TObject *obj)
{
THashList::AddAfter(after, obj);
MapObject(obj);
}
void TListOfFunctionTemplates::AddBefore(const TObject *before, TObject *obj)
{
THashList::AddBefore(before, obj);
MapObject(obj);
}
void TListOfFunctionTemplates::AddBefore(TObjLink *before, TObject *obj)
{
THashList::AddBefore(before, obj);
MapObject(obj);
}
void TListOfFunctionTemplates::Clear(Option_t *option)
{
fUnloaded->Clear(option);
fIds->Clear();
THashList::Clear(option);
}
void TListOfFunctionTemplates::Delete(Option_t *option )
{
fUnloaded->Delete(option);
fIds->Clear();
THashList::Delete(option);
}
TObject *TListOfFunctionTemplates::FindObject(const char *name) const
{
TObject *result = THashList::FindObject(name);
if (!result) {
R__LOCKGUARD(gInterpreterMutex);
TInterpreter::DeclId_t decl;
if (fClass) decl = gInterpreter->GetFunctionTemplate(fClass->GetClassInfo(),name);
else decl = gInterpreter->GetFunctionTemplate(0,name);
if (decl) result = const_cast<TListOfFunctionTemplates*>(this)->Get(decl);
}
return result;
}
TList* TListOfFunctionTemplates::GetListForObjectNonConst(const char* name)
{
R__LOCKGUARD(gInterpreterMutex);
TList* overloads = (TList*)fOverloads.FindObject(name);
TExMap overloadsSet;
Bool_t wasEmpty = true;
if (!overloads) {
overloads = new TList();
overloads->SetName(name);
fOverloads.Add(overloads);
} else {
TIter iOverload(overloads);
while (TFunctionTemplate* over = (TFunctionTemplate*)iOverload()) {
wasEmpty = false;
overloadsSet.Add((Long64_t)(ULong64_t)over->GetDeclId(),
(Long64_t)(ULong64_t)over);
}
}
std::vector<DeclId_t> overloadDecls;
ClassInfo_t* ci = fClass ? fClass->GetClassInfo() : 0;
gInterpreter->GetFunctionOverloads(ci, name, overloadDecls);
for (std::vector<DeclId_t>::const_iterator iD = overloadDecls.begin(),
eD = overloadDecls.end(); iD != eD; ++iD) {
TFunctionTemplate* over = Get(*iD);
if (wasEmpty || !overloadsSet.GetValue((Long64_t)(ULong64_t)over->GetDeclId())) {
overloads->Add(over);
}
}
return overloads;
}
TList* TListOfFunctionTemplates::GetListForObject(const char* name) const
{
return const_cast<TListOfFunctionTemplates*>(this)->GetListForObjectNonConst(name);
}
TList* TListOfFunctionTemplates::GetListForObject(const TObject* obj) const
{
if (!obj) return 0;
return const_cast<TListOfFunctionTemplates*>(this)
->GetListForObjectNonConst(obj->GetName());
}
TFunctionTemplate *TListOfFunctionTemplates::Get(DeclId_t id)
{
if (!id) return 0;
TFunctionTemplate *f = (TFunctionTemplate*)fIds->GetValue((Long64_t)id);
if (!f) {
if (fClass) {
if (!gInterpreter->ClassInfo_Contains(fClass->GetClassInfo(),id)) return 0;
} else {
if (!gInterpreter->ClassInfo_Contains(0,id)) return 0;
}
R__LOCKGUARD(gInterpreterMutex);
FuncTempInfo_t *m = gInterpreter->FuncTempInfo_Factory(id);
TString name;
gInterpreter->FuncTempInfo_Name(m, name);
TFunctionTemplate* update = (TFunctionTemplate*)fUnloaded->FindObject(name);
if (update) {
fUnloaded->Remove(update);
update->Update(m);
f = update;
}
if (!f) {
if (fClass) f = new TFunctionTemplate(m, fClass);
else f = new TFunctionTemplate(m, 0);
}
THashList::AddLast(f);
fIds->Add((Long64_t)id,(Long64_t)f);
}
return f;
}
void TListOfFunctionTemplates::UnmapObject(TObject *obj)
{
TFunctionTemplate *f = dynamic_cast<TFunctionTemplate*>(obj);
if (f) {
fIds->Remove((Long64_t)f->GetDeclId());
}
}
void TListOfFunctionTemplates::RecursiveRemove(TObject *obj)
{
if (!obj) return;
THashList::RecursiveRemove(obj);
fUnloaded->RecursiveRemove(obj);
UnmapObject(obj);
}
TObject* TListOfFunctionTemplates::Remove(TObject *obj)
{
Bool_t found;
found = THashList::Remove(obj);
if (!found) {
found = fUnloaded->Remove(obj);
}
UnmapObject(obj);
if (found) return obj;
else return 0;
}
TObject* TListOfFunctionTemplates::Remove(TObjLink *lnk)
{
if (!lnk) return 0;
TObject *obj = lnk->GetObject();
THashList::Remove(lnk);
fUnloaded->Remove(obj);
UnmapObject(obj);
return obj;
}
void TListOfFunctionTemplates::Load()
{
if (fClass && fClass->GetClassInfo() == 0) return;
R__LOCKGUARD(gInterpreterMutex);
ULong64_t currentTransaction = gInterpreter->GetInterpreterStateMarker();
if (currentTransaction == fLastLoadMarker) {
return;
}
fLastLoadMarker = currentTransaction;
gInterpreter->LoadFunctionTemplates(fClass);
}
void TListOfFunctionTemplates::Unload()
{
TObjLink *lnk = FirstLink();
while (lnk) {
TFunctionTemplate *func = (TFunctionTemplate*)lnk->GetObject();
fIds->Remove((Long64_t)func->GetDeclId());
fUnloaded->Add(func);
lnk = lnk->Next();
}
THashList::Clear();
}
void TListOfFunctionTemplates::Unload(TFunctionTemplate *func)
{
if (THashList::Remove(func)) {
fIds->Remove((Long64_t)func->GetDeclId());
fUnloaded->Add(func);
}
}
TListOfFunctionTemplates.cxx:1 TListOfFunctionTemplates.cxx:2 TListOfFunctionTemplates.cxx:3 TListOfFunctionTemplates.cxx:4 TListOfFunctionTemplates.cxx:5 TListOfFunctionTemplates.cxx:6 TListOfFunctionTemplates.cxx:7 TListOfFunctionTemplates.cxx:8 TListOfFunctionTemplates.cxx:9 TListOfFunctionTemplates.cxx:10 TListOfFunctionTemplates.cxx:11 TListOfFunctionTemplates.cxx:12 TListOfFunctionTemplates.cxx:13 TListOfFunctionTemplates.cxx:14 TListOfFunctionTemplates.cxx:15 TListOfFunctionTemplates.cxx:16 TListOfFunctionTemplates.cxx:17 TListOfFunctionTemplates.cxx:18 TListOfFunctionTemplates.cxx:19 TListOfFunctionTemplates.cxx:20 TListOfFunctionTemplates.cxx:21 TListOfFunctionTemplates.cxx:22 TListOfFunctionTemplates.cxx:23 TListOfFunctionTemplates.cxx:24 TListOfFunctionTemplates.cxx:25 TListOfFunctionTemplates.cxx:26 TListOfFunctionTemplates.cxx:27 TListOfFunctionTemplates.cxx:28 TListOfFunctionTemplates.cxx:29 TListOfFunctionTemplates.cxx:30 TListOfFunctionTemplates.cxx:31 TListOfFunctionTemplates.cxx:32 TListOfFunctionTemplates.cxx:33 TListOfFunctionTemplates.cxx:34 TListOfFunctionTemplates.cxx:35 TListOfFunctionTemplates.cxx:36 TListOfFunctionTemplates.cxx:37 TListOfFunctionTemplates.cxx:38 TListOfFunctionTemplates.cxx:39 TListOfFunctionTemplates.cxx:40 TListOfFunctionTemplates.cxx:41 TListOfFunctionTemplates.cxx:42 TListOfFunctionTemplates.cxx:43 TListOfFunctionTemplates.cxx:44 TListOfFunctionTemplates.cxx:45 TListOfFunctionTemplates.cxx:46 TListOfFunctionTemplates.cxx:47 TListOfFunctionTemplates.cxx:48 TListOfFunctionTemplates.cxx:49 TListOfFunctionTemplates.cxx:50 TListOfFunctionTemplates.cxx:51 TListOfFunctionTemplates.cxx:52 TListOfFunctionTemplates.cxx:53 TListOfFunctionTemplates.cxx:54 TListOfFunctionTemplates.cxx:55 TListOfFunctionTemplates.cxx:56 TListOfFunctionTemplates.cxx:57 TListOfFunctionTemplates.cxx:58 TListOfFunctionTemplates.cxx:59 TListOfFunctionTemplates.cxx:60 TListOfFunctionTemplates.cxx:61 TListOfFunctionTemplates.cxx:62 TListOfFunctionTemplates.cxx:63 TListOfFunctionTemplates.cxx:64 TListOfFunctionTemplates.cxx:65 TListOfFunctionTemplates.cxx:66 TListOfFunctionTemplates.cxx:67 TListOfFunctionTemplates.cxx:68 TListOfFunctionTemplates.cxx:69 TListOfFunctionTemplates.cxx:70 TListOfFunctionTemplates.cxx:71 TListOfFunctionTemplates.cxx:72 TListOfFunctionTemplates.cxx:73 TListOfFunctionTemplates.cxx:74 TListOfFunctionTemplates.cxx:75 TListOfFunctionTemplates.cxx:76 TListOfFunctionTemplates.cxx:77 TListOfFunctionTemplates.cxx:78 TListOfFunctionTemplates.cxx:79 TListOfFunctionTemplates.cxx:80 TListOfFunctionTemplates.cxx:81 TListOfFunctionTemplates.cxx:82 TListOfFunctionTemplates.cxx:83 TListOfFunctionTemplates.cxx:84 TListOfFunctionTemplates.cxx:85 TListOfFunctionTemplates.cxx:86 TListOfFunctionTemplates.cxx:87 TListOfFunctionTemplates.cxx:88 TListOfFunctionTemplates.cxx:89 TListOfFunctionTemplates.cxx:90 TListOfFunctionTemplates.cxx:91 TListOfFunctionTemplates.cxx:92 TListOfFunctionTemplates.cxx:93 TListOfFunctionTemplates.cxx:94 TListOfFunctionTemplates.cxx:95 TListOfFunctionTemplates.cxx:96 TListOfFunctionTemplates.cxx:97 TListOfFunctionTemplates.cxx:98 TListOfFunctionTemplates.cxx:99 TListOfFunctionTemplates.cxx:100 TListOfFunctionTemplates.cxx:101 TListOfFunctionTemplates.cxx:102 TListOfFunctionTemplates.cxx:103 TListOfFunctionTemplates.cxx:104 TListOfFunctionTemplates.cxx:105 TListOfFunctionTemplates.cxx:106 TListOfFunctionTemplates.cxx:107 TListOfFunctionTemplates.cxx:108 TListOfFunctionTemplates.cxx:109 TListOfFunctionTemplates.cxx:110 TListOfFunctionTemplates.cxx:111 TListOfFunctionTemplates.cxx:112 TListOfFunctionTemplates.cxx:113 TListOfFunctionTemplates.cxx:114 TListOfFunctionTemplates.cxx:115 TListOfFunctionTemplates.cxx:116 TListOfFunctionTemplates.cxx:117 TListOfFunctionTemplates.cxx:118 TListOfFunctionTemplates.cxx:119 TListOfFunctionTemplates.cxx:120 TListOfFunctionTemplates.cxx:121 TListOfFunctionTemplates.cxx:122 TListOfFunctionTemplates.cxx:123 TListOfFunctionTemplates.cxx:124 TListOfFunctionTemplates.cxx:125 TListOfFunctionTemplates.cxx:126 TListOfFunctionTemplates.cxx:127 TListOfFunctionTemplates.cxx:128 TListOfFunctionTemplates.cxx:129 TListOfFunctionTemplates.cxx:130 TListOfFunctionTemplates.cxx:131 TListOfFunctionTemplates.cxx:132 TListOfFunctionTemplates.cxx:133 TListOfFunctionTemplates.cxx:134 TListOfFunctionTemplates.cxx:135 TListOfFunctionTemplates.cxx:136 TListOfFunctionTemplates.cxx:137 TListOfFunctionTemplates.cxx:138 TListOfFunctionTemplates.cxx:139 TListOfFunctionTemplates.cxx:140 TListOfFunctionTemplates.cxx:141 TListOfFunctionTemplates.cxx:142 TListOfFunctionTemplates.cxx:143 TListOfFunctionTemplates.cxx:144 TListOfFunctionTemplates.cxx:145 TListOfFunctionTemplates.cxx:146 TListOfFunctionTemplates.cxx:147 TListOfFunctionTemplates.cxx:148 TListOfFunctionTemplates.cxx:149 TListOfFunctionTemplates.cxx:150 TListOfFunctionTemplates.cxx:151 TListOfFunctionTemplates.cxx:152 TListOfFunctionTemplates.cxx:153 TListOfFunctionTemplates.cxx:154 TListOfFunctionTemplates.cxx:155 TListOfFunctionTemplates.cxx:156 TListOfFunctionTemplates.cxx:157 TListOfFunctionTemplates.cxx:158 TListOfFunctionTemplates.cxx:159 TListOfFunctionTemplates.cxx:160 TListOfFunctionTemplates.cxx:161 TListOfFunctionTemplates.cxx:162 TListOfFunctionTemplates.cxx:163 TListOfFunctionTemplates.cxx:164 TListOfFunctionTemplates.cxx:165 TListOfFunctionTemplates.cxx:166 TListOfFunctionTemplates.cxx:167 TListOfFunctionTemplates.cxx:168 TListOfFunctionTemplates.cxx:169 TListOfFunctionTemplates.cxx:170 TListOfFunctionTemplates.cxx:171 TListOfFunctionTemplates.cxx:172 TListOfFunctionTemplates.cxx:173 TListOfFunctionTemplates.cxx:174 TListOfFunctionTemplates.cxx:175 TListOfFunctionTemplates.cxx:176 TListOfFunctionTemplates.cxx:177 TListOfFunctionTemplates.cxx:178 TListOfFunctionTemplates.cxx:179 TListOfFunctionTemplates.cxx:180 TListOfFunctionTemplates.cxx:181 TListOfFunctionTemplates.cxx:182 TListOfFunctionTemplates.cxx:183 TListOfFunctionTemplates.cxx:184 TListOfFunctionTemplates.cxx:185 TListOfFunctionTemplates.cxx:186 TListOfFunctionTemplates.cxx:187 TListOfFunctionTemplates.cxx:188 TListOfFunctionTemplates.cxx:189 TListOfFunctionTemplates.cxx:190 TListOfFunctionTemplates.cxx:191 TListOfFunctionTemplates.cxx:192 TListOfFunctionTemplates.cxx:193 TListOfFunctionTemplates.cxx:194 TListOfFunctionTemplates.cxx:195 TListOfFunctionTemplates.cxx:196 TListOfFunctionTemplates.cxx:197 TListOfFunctionTemplates.cxx:198 TListOfFunctionTemplates.cxx:199 TListOfFunctionTemplates.cxx:200 TListOfFunctionTemplates.cxx:201 TListOfFunctionTemplates.cxx:202 TListOfFunctionTemplates.cxx:203 TListOfFunctionTemplates.cxx:204 TListOfFunctionTemplates.cxx:205 TListOfFunctionTemplates.cxx:206 TListOfFunctionTemplates.cxx:207 TListOfFunctionTemplates.cxx:208 TListOfFunctionTemplates.cxx:209 TListOfFunctionTemplates.cxx:210 TListOfFunctionTemplates.cxx:211 TListOfFunctionTemplates.cxx:212 TListOfFunctionTemplates.cxx:213 TListOfFunctionTemplates.cxx:214 TListOfFunctionTemplates.cxx:215 TListOfFunctionTemplates.cxx:216 TListOfFunctionTemplates.cxx:217 TListOfFunctionTemplates.cxx:218 TListOfFunctionTemplates.cxx:219 TListOfFunctionTemplates.cxx:220 TListOfFunctionTemplates.cxx:221 TListOfFunctionTemplates.cxx:222 TListOfFunctionTemplates.cxx:223 TListOfFunctionTemplates.cxx:224 TListOfFunctionTemplates.cxx:225 TListOfFunctionTemplates.cxx:226 TListOfFunctionTemplates.cxx:227 TListOfFunctionTemplates.cxx:228 TListOfFunctionTemplates.cxx:229 TListOfFunctionTemplates.cxx:230 TListOfFunctionTemplates.cxx:231 TListOfFunctionTemplates.cxx:232 TListOfFunctionTemplates.cxx:233 TListOfFunctionTemplates.cxx:234 TListOfFunctionTemplates.cxx:235 TListOfFunctionTemplates.cxx:236 TListOfFunctionTemplates.cxx:237 TListOfFunctionTemplates.cxx:238 TListOfFunctionTemplates.cxx:239 TListOfFunctionTemplates.cxx:240 TListOfFunctionTemplates.cxx:241 TListOfFunctionTemplates.cxx:242 TListOfFunctionTemplates.cxx:243 TListOfFunctionTemplates.cxx:244 TListOfFunctionTemplates.cxx:245 TListOfFunctionTemplates.cxx:246 TListOfFunctionTemplates.cxx:247 TListOfFunctionTemplates.cxx:248 TListOfFunctionTemplates.cxx:249 TListOfFunctionTemplates.cxx:250 TListOfFunctionTemplates.cxx:251 TListOfFunctionTemplates.cxx:252 TListOfFunctionTemplates.cxx:253 TListOfFunctionTemplates.cxx:254 TListOfFunctionTemplates.cxx:255 TListOfFunctionTemplates.cxx:256 TListOfFunctionTemplates.cxx:257 TListOfFunctionTemplates.cxx:258 TListOfFunctionTemplates.cxx:259 TListOfFunctionTemplates.cxx:260 TListOfFunctionTemplates.cxx:261 TListOfFunctionTemplates.cxx:262 TListOfFunctionTemplates.cxx:263 TListOfFunctionTemplates.cxx:264 TListOfFunctionTemplates.cxx:265 TListOfFunctionTemplates.cxx:266 TListOfFunctionTemplates.cxx:267 TListOfFunctionTemplates.cxx:268 TListOfFunctionTemplates.cxx:269 TListOfFunctionTemplates.cxx:270 TListOfFunctionTemplates.cxx:271 TListOfFunctionTemplates.cxx:272 TListOfFunctionTemplates.cxx:273 TListOfFunctionTemplates.cxx:274 TListOfFunctionTemplates.cxx:275 TListOfFunctionTemplates.cxx:276 TListOfFunctionTemplates.cxx:277 TListOfFunctionTemplates.cxx:278 TListOfFunctionTemplates.cxx:279 TListOfFunctionTemplates.cxx:280 TListOfFunctionTemplates.cxx:281 TListOfFunctionTemplates.cxx:282 TListOfFunctionTemplates.cxx:283 TListOfFunctionTemplates.cxx:284 TListOfFunctionTemplates.cxx:285 TListOfFunctionTemplates.cxx:286 TListOfFunctionTemplates.cxx:287 TListOfFunctionTemplates.cxx:288 TListOfFunctionTemplates.cxx:289 TListOfFunctionTemplates.cxx:290 TListOfFunctionTemplates.cxx:291 TListOfFunctionTemplates.cxx:292 TListOfFunctionTemplates.cxx:293 TListOfFunctionTemplates.cxx:294 TListOfFunctionTemplates.cxx:295 TListOfFunctionTemplates.cxx:296 TListOfFunctionTemplates.cxx:297 TListOfFunctionTemplates.cxx:298 TListOfFunctionTemplates.cxx:299 TListOfFunctionTemplates.cxx:300 TListOfFunctionTemplates.cxx:301 TListOfFunctionTemplates.cxx:302 TListOfFunctionTemplates.cxx:303 TListOfFunctionTemplates.cxx:304 TListOfFunctionTemplates.cxx:305 TListOfFunctionTemplates.cxx:306 TListOfFunctionTemplates.cxx:307 TListOfFunctionTemplates.cxx:308 TListOfFunctionTemplates.cxx:309 TListOfFunctionTemplates.cxx:310 TListOfFunctionTemplates.cxx:311 TListOfFunctionTemplates.cxx:312 TListOfFunctionTemplates.cxx:313 TListOfFunctionTemplates.cxx:314 TListOfFunctionTemplates.cxx:315 TListOfFunctionTemplates.cxx:316 TListOfFunctionTemplates.cxx:317 TListOfFunctionTemplates.cxx:318 TListOfFunctionTemplates.cxx:319 TListOfFunctionTemplates.cxx:320 TListOfFunctionTemplates.cxx:321 TListOfFunctionTemplates.cxx:322 TListOfFunctionTemplates.cxx:323 TListOfFunctionTemplates.cxx:324 TListOfFunctionTemplates.cxx:325 TListOfFunctionTemplates.cxx:326 TListOfFunctionTemplates.cxx:327 TListOfFunctionTemplates.cxx:328 TListOfFunctionTemplates.cxx:329 TListOfFunctionTemplates.cxx:330 TListOfFunctionTemplates.cxx:331 TListOfFunctionTemplates.cxx:332 TListOfFunctionTemplates.cxx:333 TListOfFunctionTemplates.cxx:334 TListOfFunctionTemplates.cxx:335 TListOfFunctionTemplates.cxx:336 TListOfFunctionTemplates.cxx:337 TListOfFunctionTemplates.cxx:338 TListOfFunctionTemplates.cxx:339 TListOfFunctionTemplates.cxx:340 TListOfFunctionTemplates.cxx:341 TListOfFunctionTemplates.cxx:342 TListOfFunctionTemplates.cxx:343 TListOfFunctionTemplates.cxx:344 TListOfFunctionTemplates.cxx:345 TListOfFunctionTemplates.cxx:346 TListOfFunctionTemplates.cxx:347 TListOfFunctionTemplates.cxx:348 TListOfFunctionTemplates.cxx:349 TListOfFunctionTemplates.cxx:350 TListOfFunctionTemplates.cxx:351 TListOfFunctionTemplates.cxx:352 TListOfFunctionTemplates.cxx:353 TListOfFunctionTemplates.cxx:354 TListOfFunctionTemplates.cxx:355 TListOfFunctionTemplates.cxx:356 TListOfFunctionTemplates.cxx:357 TListOfFunctionTemplates.cxx:358 TListOfFunctionTemplates.cxx:359 TListOfFunctionTemplates.cxx:360 TListOfFunctionTemplates.cxx:361 TListOfFunctionTemplates.cxx:362 TListOfFunctionTemplates.cxx:363 TListOfFunctionTemplates.cxx:364 TListOfFunctionTemplates.cxx:365 TListOfFunctionTemplates.cxx:366 TListOfFunctionTemplates.cxx:367 TListOfFunctionTemplates.cxx:368 TListOfFunctionTemplates.cxx:369 TListOfFunctionTemplates.cxx:370 TListOfFunctionTemplates.cxx:371 TListOfFunctionTemplates.cxx:372 TListOfFunctionTemplates.cxx:373 TListOfFunctionTemplates.cxx:374 TListOfFunctionTemplates.cxx:375 TListOfFunctionTemplates.cxx:376 TListOfFunctionTemplates.cxx:377 TListOfFunctionTemplates.cxx:378 TListOfFunctionTemplates.cxx:379 TListOfFunctionTemplates.cxx:380 TListOfFunctionTemplates.cxx:381 TListOfFunctionTemplates.cxx:382 TListOfFunctionTemplates.cxx:383 TListOfFunctionTemplates.cxx:384 TListOfFunctionTemplates.cxx:385 TListOfFunctionTemplates.cxx:386 TListOfFunctionTemplates.cxx:387 TListOfFunctionTemplates.cxx:388 TListOfFunctionTemplates.cxx:389 TListOfFunctionTemplates.cxx:390 TListOfFunctionTemplates.cxx:391 TListOfFunctionTemplates.cxx:392 TListOfFunctionTemplates.cxx:393 TListOfFunctionTemplates.cxx:394 TListOfFunctionTemplates.cxx:395 TListOfFunctionTemplates.cxx:396 TListOfFunctionTemplates.cxx:397 TListOfFunctionTemplates.cxx:398 TListOfFunctionTemplates.cxx:399 TListOfFunctionTemplates.cxx:400 TListOfFunctionTemplates.cxx:401 TListOfFunctionTemplates.cxx:402 TListOfFunctionTemplates.cxx:403 TListOfFunctionTemplates.cxx:404 TListOfFunctionTemplates.cxx:405 TListOfFunctionTemplates.cxx:406 TListOfFunctionTemplates.cxx:407 TListOfFunctionTemplates.cxx:408