File tree Expand file tree Collapse file tree 2 files changed +4
-4
lines changed Expand file tree Collapse file tree 2 files changed +4
-4
lines changed Original file line number Diff line number Diff line change 4
4
< meta charset ="utf-8 " />
5
5
< meta name ="generator " content ="mpark/wg21 " />
6
6
< meta name ="viewport " content ="width=device-width, initial-scale=1.0, user-scalable=yes " />
7
- < meta name ="dcterms.date " content ="2023-11-10 " />
7
+ < meta name ="dcterms.date " content ="2023-11-11 " />
8
8
< title > Reflection for C++26</ title >
9
9
< style >
10
10
code {white-space : pre-wrap;}
@@ -538,7 +538,7 @@ <h1 class="title" style="text-align:center">Reflection for C++26</h1>
538
538
</ tr >
539
539
< tr >
540
540
< td > Date:</ td >
541
- < td > 2023-11-10 </ td >
541
+ < td > 2023-11-11 </ td >
542
542
</ tr >
543
543
< tr >
544
544
< td style ="vertical-align:top "> Project:</ td >
@@ -1003,7 +1003,7 @@ <h2 data-number="3.10" id="parsing-command-line-options-ii"><span class="header-
1003
1003
< span id ="cb16-50 "> < a href ="#cb16-50 "> </ a > </ span >
1004
1004
< span id ="cb16-51 "> < a href ="#cb16-51 "> </ a > < span class ="co "> // no such argument</ span > </ span >
1005
1005
< span id ="cb16-52 "> < a href ="#cb16-52 "> </ a > < span class ="cf "> if</ span > < span class ="op "> (</ span > it < span class ="op "> ==</ span > cmdline< span class ="op "> .</ span > end< span class ="op "> ())</ span > < span class ="op "> {</ span > </ span >
1006
- < span id ="cb16-53 "> < a href ="#cb16-53 "> </ a > < span class ="cf "> if</ span > < span class ="kw "> constexpr</ span > < span class ="op "> (</ span > template_of< span class ="op "> (</ span > om < span class ="op "> )</ span > < span class ="op "> ==</ span > < span class ="op "> ^</ span > std< span class ="op "> ::</ span > optional< span class ="op "> )</ span > < span class ="op "> {</ span > </ span >
1006
+ < span id ="cb16-53 "> < a href ="#cb16-53 "> </ a > < span class ="cf "> if</ span > < span class ="kw "> constexpr</ span > < span class ="op "> (</ span > has_template_arguments < span class =" op " > ( </ span > type < span class =" op " > ) </ span > < span class =" kw " > and </ span > template_of< span class ="op "> (</ span > type < span class ="op "> )</ span > < span class ="op "> ==</ span > < span class ="op "> ^</ span > std< span class ="op "> ::</ span > optional< span class ="op "> )</ span > < span class ="op "> {</ span > </ span >
1007
1007
< span id ="cb16-54 "> < a href ="#cb16-54 "> </ a > < span class ="co "> // the type is optional, so the argument is too</ span > </ span >
1008
1008
< span id ="cb16-55 "> < a href ="#cb16-55 "> </ a > < span class ="cf "> continue</ span > ;</ span >
1009
1009
< span id ="cb16-56 "> < a href ="#cb16-56 "> </ a > < span class ="op "> }</ span > < span class ="cf "> else</ span > < span class ="cf "> if</ span > < span class ="op "> (</ span > cur< span class ="op "> .</ span > initializer< span class ="op "> )</ span > < span class ="op "> {</ span > </ span >
Original file line number Diff line number Diff line change @@ -531,7 +531,7 @@ struct Clap {
531
531
532
532
// no such argument
533
533
if (it == cmdline.end()) {
534
- if constexpr (template_of(om ) == ^std::optional) {
534
+ if constexpr (has_template_arguments(type) and template_of(type ) == ^std::optional) {
535
535
// the type is optional, so the argument is too
536
536
continue;
537
537
} else if (cur.initializer) {
You can’t perform that action at this time.
0 commit comments