@@ -188,7 +188,7 @@ class ClassDefImpl : public DefinitionMixin<ClassDefMutable>
188
188
virtual bool isVisibleInHierarchy () const ;
189
189
virtual bool visibleInParentsDeclList () const ;
190
190
virtual const ArgumentList &templateArguments () const ;
191
- virtual NamespaceDef *getNamespaceDef () const ;
191
+ // virtual NamespaceDef *getNamespaceDef() const;
192
192
virtual FileDef *getFileDef () const ;
193
193
virtual const MemberDef *getMemberByName (const QCString &) const ;
194
194
virtual bool isBaseClass (const ClassDef *bcd,bool followInstances,int level=0 ) const ;
@@ -250,7 +250,7 @@ class ClassDefImpl : public DefinitionMixin<ClassDefMutable>
250
250
virtual void insertUsedFile (const FileDef *);
251
251
virtual bool addExample (const char *anchor,const char *name, const char *file);
252
252
virtual void mergeCategory (ClassDef *category);
253
- virtual void setNamespace (NamespaceDef *nd);
253
+ // virtual void setNamespace(NamespaceDef *nd);
254
254
virtual void setFileDef (FileDef *fd);
255
255
virtual void setSubGrouping (bool enabled);
256
256
virtual void setProtection (Protection p);
@@ -355,6 +355,8 @@ class ClassDefImpl : public DefinitionMixin<ClassDefMutable>
355
355
QCString &title,QCString &subtitle) const ;
356
356
QCString includeStatement () const ;
357
357
void addTypeConstraint (const QCString &typeConstraint,const QCString &type);
358
+ void writeTemplateSpec (OutputList &ol,const Definition *d,
359
+ const QCString &type,SrcLangExt lang) const ;
358
360
359
361
// PIMPL idiom
360
362
class IMPL ;
@@ -428,8 +430,8 @@ class ClassDefAliasImpl : public DefinitionAliasMixin<ClassDef>
428
430
{ return getCdAlias ()->visibleInParentsDeclList (); }
429
431
virtual const ArgumentList &templateArguments () const
430
432
{ return getCdAlias ()->templateArguments (); }
431
- virtual NamespaceDef *getNamespaceDef () const
432
- { return getCdAlias ()->getNamespaceDef (); }
433
+ // virtual NamespaceDef *getNamespaceDef() const
434
+ // { return getCdAlias()->getNamespaceDef(); }
433
435
virtual FileDef *getFileDef () const
434
436
{ return getCdAlias ()->getFileDef (); }
435
437
virtual const MemberDef *getMemberByName (const QCString &s) const
@@ -551,8 +553,6 @@ class ClassDefAliasImpl : public DefinitionAliasMixin<ClassDef>
551
553
virtual void updateSubClasses (const BaseClassList &) {}
552
554
};
553
555
554
-
555
-
556
556
ClassDef *createClassDefAlias (const Definition *newScope,const ClassDef *cd)
557
557
{
558
558
ClassDef *acd = new ClassDefAliasImpl (newScope,cd);
@@ -605,7 +605,7 @@ class ClassDefImpl::IMPL
605
605
/* ! Namespace this class is part of
606
606
* (this is the inner most namespace in case of nested namespaces)
607
607
*/
608
- NamespaceDef *nspace = 0 ;
608
+ // NamespaceDef *nspace = 0;
609
609
610
610
/* ! File this class is defined in */
611
611
FileDef *fileDef = 0 ;
@@ -725,7 +725,7 @@ void ClassDefImpl::IMPL::init(const char *defFileName, const char *name,
725
725
fileName=ctStr+name;
726
726
}
727
727
prot=Public;
728
- nspace=0 ;
728
+ // nspace=0;
729
729
fileDef=0 ;
730
730
subGrouping=Config_getBool (SUBGROUPING);
731
731
templateMaster =0 ;
@@ -1296,23 +1296,29 @@ static void searchTemplateSpecs(/*in*/ const Definition *d,
1296
1296
}
1297
1297
}
1298
1298
1299
- static void writeTemplateSpec (OutputList &ol,const Definition *d,
1300
- const QCString &type,SrcLangExt lang)
1299
+ void ClassDefImpl:: writeTemplateSpec (OutputList &ol,const Definition *d,
1300
+ const QCString &type,SrcLangExt lang) const
1301
1301
{
1302
1302
ArgumentLists specs;
1303
1303
QCString name;
1304
1304
searchTemplateSpecs (d,specs,name,lang);
1305
1305
if (!specs.empty ()) // class has template scope specifiers
1306
1306
{
1307
- ol.startSubsubsection ();
1307
+ ol.startCompoundTemplateParams ();
1308
1308
for (const ArgumentList &al : specs)
1309
1309
{
1310
1310
ol.docify (" template<" );
1311
1311
auto it = al.begin ();
1312
1312
while (it!=al.end ())
1313
1313
{
1314
1314
Argument a = *it;
1315
- ol.docify (a.type );
1315
+ linkifyText (TextGeneratorOLImpl (ol), // out
1316
+ d, // scope
1317
+ getFileDef (), // fileScope
1318
+ this , // self
1319
+ a.type , // text
1320
+ FALSE // autoBreak
1321
+ );
1316
1322
if (!a.name .isEmpty ())
1317
1323
{
1318
1324
ol.docify (" " );
@@ -1329,9 +1335,20 @@ static void writeTemplateSpec(OutputList &ol,const Definition *d,
1329
1335
ol.docify (" >" );
1330
1336
ol.lineBreak ();
1331
1337
}
1338
+ if (!m_impl->requiresClause .isEmpty ())
1339
+ {
1340
+ ol.docify (" requires " );
1341
+ linkifyText (TextGeneratorOLImpl (ol), // out
1342
+ d, // scope
1343
+ getFileDef (), // fileScope
1344
+ this , // self
1345
+ m_impl->requiresClause , // text
1346
+ FALSE // autoBreak
1347
+ );
1348
+ ol.lineBreak ();
1349
+ }
1332
1350
ol.docify (type.lower ()+" " +name);
1333
- ol.endSubsubsection ();
1334
- ol.writeString (" \n " );
1351
+ ol.endCompoundTemplateParams ();
1335
1352
}
1336
1353
}
1337
1354
@@ -2557,11 +2574,14 @@ void ClassDefImpl::writeDocumentationContents(OutputList &ol,const QCString & /*
2557
2574
case LayoutDocEntry::NamespaceNestedNamespaces:
2558
2575
case LayoutDocEntry::NamespaceNestedConstantGroups:
2559
2576
case LayoutDocEntry::NamespaceClasses:
2577
+ case LayoutDocEntry::NamespaceConcepts:
2560
2578
case LayoutDocEntry::NamespaceInterfaces:
2561
2579
case LayoutDocEntry::NamespaceStructs:
2562
2580
case LayoutDocEntry::NamespaceExceptions:
2563
2581
case LayoutDocEntry::NamespaceInlineClasses:
2582
+ case LayoutDocEntry::ConceptDefinition:
2564
2583
case LayoutDocEntry::FileClasses:
2584
+ case LayoutDocEntry::FileConcepts:
2565
2585
case LayoutDocEntry::FileInterfaces:
2566
2586
case LayoutDocEntry::FileStructs:
2567
2587
case LayoutDocEntry::FileExceptions:
@@ -2573,6 +2593,7 @@ void ClassDefImpl::writeDocumentationContents(OutputList &ol,const QCString & /*
2573
2593
case LayoutDocEntry::FileSourceLink:
2574
2594
case LayoutDocEntry::FileInlineClasses:
2575
2595
case LayoutDocEntry::GroupClasses:
2596
+ case LayoutDocEntry::GroupConcepts:
2576
2597
case LayoutDocEntry::GroupInlineClasses:
2577
2598
case LayoutDocEntry::GroupNamespaces:
2578
2599
case LayoutDocEntry::GroupDirs:
@@ -4557,10 +4578,10 @@ const ArgumentList &ClassDefImpl::templateArguments() const
4557
4578
return m_impl->tempArgs ;
4558
4579
}
4559
4580
4560
- NamespaceDef *ClassDefImpl::getNamespaceDef () const
4561
- {
4562
- return m_impl->nspace ;
4563
- }
4581
+ // NamespaceDef *ClassDefImpl::getNamespaceDef() const
4582
+ // {
4583
+ // return m_impl->nspace;
4584
+ // }
4564
4585
4565
4586
FileDef *ClassDefImpl::getFileDef () const
4566
4587
{
@@ -4667,10 +4688,10 @@ const MemberGroupList &ClassDefImpl::getMemberGroups() const
4667
4688
return m_impl->memberGroups ;
4668
4689
}
4669
4690
4670
- void ClassDefImpl::setNamespace (NamespaceDef *nd)
4671
- {
4672
- m_impl->nspace = nd;
4673
- }
4691
+ // void ClassDefImpl::setNamespace(NamespaceDef *nd)
4692
+ // {
4693
+ // m_impl->nspace = nd;
4694
+ // }
4674
4695
4675
4696
void ClassDefImpl::setFileDef (FileDef *fd)
4676
4697
{
0 commit comments