Skip to content

Commit 8d22eb8

Browse files
committed
CPP: Improvements to qldoc.
1 parent 4dd1267 commit 8d22eb8

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

cpp/ql/src/semmle/code/cpp/Class.qll

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -905,8 +905,8 @@ class LocalClass extends Class {
905905
}
906906

907907
/**
908-
* A nested class [4140 9.7]. For example the struct `PairT` in the following
909-
* code is a nested class:
908+
* A nested class, that is, a class declared within another class. For example
909+
* the struct `PairT` in the following code is a nested class:
910910
* ```
911911
* template<class T>
912912
* class MyTemplateClass {
@@ -958,6 +958,9 @@ class AbstractClass extends Class {
958958
* ...
959959
* };
960960
* ```
961+
* Note that this does not include template instantiations, and full
962+
* specializations. See `ClassTemplateInstantiation` and
963+
* `FullClassTemplateSpecialization`.
961964
*/
962965
class TemplateClass extends Class {
963966
TemplateClass() { usertypes(underlyingElement(this),_,6) }
@@ -994,7 +997,16 @@ class ClassTemplateInstantiation extends Class {
994997
/**
995998
* Gets the class template from which this instantiation was instantiated.
996999
*
997-
* For example: For `std::vector<float>`, the result is `std::vector<T>`.
1000+
* For example for `MyTemplateClass<int>` in the following code, the result is
1001+
* `MyTemplateClass<T>`:
1002+
* ```
1003+
* template<class T>
1004+
* class MyTemplateClass {
1005+
* ...
1006+
* };
1007+
*
1008+
* MyTemplateClass<int> instance;
1009+
* ```
9981010
*/
9991011
TemplateClass getTemplate() {
10001012
result = tc
@@ -1003,7 +1015,8 @@ class ClassTemplateInstantiation extends Class {
10031015

10041016
/**
10051017
* A specialization of a class template (this may be a full or partial template
1006-
* specialization).
1018+
* specialization - see `FullClassTemplateSpecialization` and
1019+
* `PartialClassTemplateSpecialization`).
10071020
*/
10081021
abstract class ClassTemplateSpecialization extends Class {
10091022
/**

0 commit comments

Comments
 (0)