@@ -2976,11 +2976,18 @@ <h2 id="narrowing-matchers">Narrowing Matchers</h2>
2976
2976
2977
2977
2978
2978
<tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1BinaryOperator.html">BinaryOperator</a>></td><td class="name" onclick="toggle('hasOperatorName0')"><a name="hasOperatorName0Anchor">hasOperatorName</a></td><td>std::string Name</td></tr>
2979
- <tr><td colspan="4" class="doc" id="hasOperatorName0"><pre>Matches the operator Name of operator expressions (binary or
2980
- unary).
2979
+ <tr><td colspan="4" class="doc" id="hasOperatorName0"><pre>Matches the operator Name of operator expressions and fold expressions
2980
+ (binary or unary).
2981
2981
2982
2982
Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
2983
2983
!(a || b)
2984
+
2985
+ Example matches `(0 + ... + args)`
2986
+ (matcher = cxxFoldExpr(hasOperatorName("+")))
2987
+ template <typename... Args>
2988
+ auto sum(Args... args) {
2989
+ return (0 + ... + args);
2990
+ }
2984
2991
</pre></td></tr>
2985
2992
2986
2993
@@ -3441,20 +3448,19 @@ <h2 id="narrowing-matchers">Narrowing Matchers</h2>
3441
3448
</pre></td></tr>
3442
3449
3443
3450
3444
- <tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1CXXFoldExpr.html">CXXFoldExpr</a>></td><td class="name" onclick="toggle('hasOperator0')"><a name="hasOperator0Anchor">hasOperator</a></td><td>BinaryOperatorKind Op</td></tr>
3445
- <tr><td colspan="4" class="doc" id="hasOperator0"><pre>Matches the operator kind of the fold expression.
3451
+ <tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1CXXFoldExpr.html">CXXFoldExpr</a>></td><td class="name" onclick="toggle('hasOperatorName3')"><a name="hasOperatorName3Anchor">hasOperatorName</a></td><td>std::string Name</td></tr>
3452
+ <tr><td colspan="4" class="doc" id="hasOperatorName3"><pre>Matches the operator Name of operator expressions and fold expressions
3453
+ (binary or unary).
3454
+
3455
+ Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
3456
+ !(a || b)
3446
3457
3447
3458
Example matches `(0 + ... + args)`
3448
- (matcher = cxxFoldExpr(hasOperator(BO_Add )))
3459
+ (matcher = cxxFoldExpr(hasOperatorName("+" )))
3449
3460
template <typename... Args>
3450
3461
auto sum(Args... args) {
3451
3462
return (0 + ... + args);
3452
3463
}
3453
-
3454
- template <typename... Args>
3455
- auto multiply(Args... args) {
3456
- return (args * ... * 1);
3457
- }
3458
3464
</pre></td></tr>
3459
3465
3460
3466
@@ -3696,11 +3702,18 @@ <h2 id="narrowing-matchers">Narrowing Matchers</h2>
3696
3702
3697
3703
3698
3704
<tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1CXXOperatorCallExpr.html">CXXOperatorCallExpr</a>></td><td class="name" onclick="toggle('hasOperatorName1')"><a name="hasOperatorName1Anchor">hasOperatorName</a></td><td>std::string Name</td></tr>
3699
- <tr><td colspan="4" class="doc" id="hasOperatorName1"><pre>Matches the operator Name of operator expressions (binary or
3700
- unary).
3705
+ <tr><td colspan="4" class="doc" id="hasOperatorName1"><pre>Matches the operator Name of operator expressions and fold expressions
3706
+ (binary or unary).
3701
3707
3702
3708
Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
3703
3709
!(a || b)
3710
+
3711
+ Example matches `(0 + ... + args)`
3712
+ (matcher = cxxFoldExpr(hasOperatorName("+")))
3713
+ template <typename... Args>
3714
+ auto sum(Args... args) {
3715
+ return (0 + ... + args);
3716
+ }
3704
3717
</pre></td></tr>
3705
3718
3706
3719
@@ -3854,11 +3867,18 @@ <h2 id="narrowing-matchers">Narrowing Matchers</h2>
3854
3867
3855
3868
3856
3869
<tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1CXXRewrittenBinaryOperator.html">CXXRewrittenBinaryOperator</a>></td><td class="name" onclick="toggle('hasOperatorName2')"><a name="hasOperatorName2Anchor">hasOperatorName</a></td><td>std::string Name</td></tr>
3857
- <tr><td colspan="4" class="doc" id="hasOperatorName2"><pre>Matches the operator Name of operator expressions (binary or
3858
- unary).
3870
+ <tr><td colspan="4" class="doc" id="hasOperatorName2"><pre>Matches the operator Name of operator expressions and fold expressions
3871
+ (binary or unary).
3859
3872
3860
3873
Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
3861
3874
!(a || b)
3875
+
3876
+ Example matches `(0 + ... + args)`
3877
+ (matcher = cxxFoldExpr(hasOperatorName("+")))
3878
+ template <typename... Args>
3879
+ auto sum(Args... args) {
3880
+ return (0 + ... + args);
3881
+ }
3862
3882
</pre></td></tr>
3863
3883
3864
3884
@@ -5808,12 +5828,19 @@ <h2 id="narrowing-matchers">Narrowing Matchers</h2>
5808
5828
</pre></td></tr>
5809
5829
5810
5830
5811
- <tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1UnaryOperator.html">UnaryOperator</a>></td><td class="name" onclick="toggle('hasOperatorName3 ')"><a name="hasOperatorName3Anchor ">hasOperatorName</a></td><td>std::string Name</td></tr>
5812
- <tr><td colspan="4" class="doc" id="hasOperatorName3 "><pre>Matches the operator Name of operator expressions (binary or
5813
- unary).
5831
+ <tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1UnaryOperator.html">UnaryOperator</a>></td><td class="name" onclick="toggle('hasOperatorName4 ')"><a name="hasOperatorName4Anchor ">hasOperatorName</a></td><td>std::string Name</td></tr>
5832
+ <tr><td colspan="4" class="doc" id="hasOperatorName4 "><pre>Matches the operator Name of operator expressions and fold expressions
5833
+ (binary or unary).
5814
5834
5815
5835
Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
5816
5836
!(a || b)
5837
+
5838
+ Example matches `(0 + ... + args)`
5839
+ (matcher = cxxFoldExpr(hasOperatorName("+")))
5840
+ template <typename... Args>
5841
+ auto sum(Args... args) {
5842
+ return (0 + ... + args);
5843
+ }
5817
5844
</pre></td></tr>
5818
5845
5819
5846
0 commit comments