File tree 3 files changed +23
-4
lines changed
3 files changed +23
-4
lines changed Original file line number Diff line number Diff line change @@ -148,6 +148,12 @@ my %custom_container_handlers = (
148
148
header_ref(" vector" );
149
149
return " std::vector<bool>" ;
150
150
},
151
+ ' stl-array' => sub {
152
+ my $item = get_container_item_type($_ , -void => ' void*' );
153
+ my $count = get_container_count($_ );
154
+ header_ref(" array" );
155
+ return " std::array<$item , $count >" ;
156
+ },
151
157
' stl-map' => sub {
152
158
# TODO: implement get_container_key_type?
153
159
my $key = ' void*' ;
Original file line number Diff line number Diff line change 219
219
<xs : element name =" stl-vector" type =" StlVectorField" />
220
220
<xs : element name =" stl-bit-vector" type =" StlBitVectorField" />
221
221
<xs : element name =" stl-deque" type =" StlDequeField" />
222
+ <xs : element name =" stl-array" type =" StlArrayField" />
222
223
<xs : element name =" stl-set" type =" StlSetField" />
223
224
<xs : element name =" stl-map" type =" StlMapField" />
224
225
<xs : element name =" stl-unordered-map" type =" StlMapField" />
329
330
</xs : extension >
330
331
</xs : complexContent >
331
332
</xs : complexType >
333
+ <xs : complexType name =" SizedContainerFieldType" mixed =" true" >
334
+ <xs : complexContent >
335
+ <xs : extension base =" ContainerFieldType" >
336
+ <xs : attribute name =" count" type =" xs:positiveInteger" >
337
+ </xs : attribute >
338
+ </xs : extension >
339
+ </xs : complexContent >
340
+ </xs : complexType >
332
341
<xs : complexType name =" BitContainerFieldType" mixed =" true" >
333
342
<xs : complexContent >
334
343
<xs : extension base =" SimpleFieldType" >
388
397
</xs : extension >
389
398
</xs : complexContent >
390
399
</xs : complexType >
400
+ <xs : complexType name =" StlArrayField" >
401
+ <xs : complexContent >
402
+ <xs : extension base =" SizedContainerFieldType" >
403
+ </xs : extension >
404
+ </xs : complexContent >
405
+ </xs : complexType >
391
406
<xs : complexType name =" StlSetField" >
392
407
<xs : complexContent >
393
408
<xs : extension base =" ContainerFieldType" >
458
473
</xs : complexType >
459
474
<xs : complexType name =" StaticArrayField" >
460
475
<xs : complexContent >
461
- <xs : extension base =" ContainerFieldType" >
462
- <xs : attribute name =" count" type =" xs:positiveInteger" >
463
- </xs : attribute >
476
+ <xs : extension base =" SizedContainerFieldType" >
464
477
</xs : extension >
465
478
</xs : complexContent >
466
479
</xs : complexType >
Original file line number Diff line number Diff line change @@ -339,7 +339,7 @@ Error: field <xsl:value-of select='$enum-key'/> corresponds to an enum value of
339
339
</xsl : template >
340
340
341
341
<!-- Misc containers: meta='container' subtype='$tag' -->
342
- <xsl : template match =' stl-vector|stl-deque|stl-set|stl-bit-vector|stl-map|stl-unordered-map|stl-optional|stl-variant|stl-shared-ptr|stl-weak-ptr|stl-function|df-flagarray|df-static-flagarray|df-array|df-linked-list' >
342
+ <xsl : template match =' stl-vector|stl-deque|stl-set|stl-bit-vector|stl-array|stl- map|stl-unordered-map|stl-optional|stl-variant|stl-shared-ptr|stl-weak-ptr|stl-function|df-flagarray|df-static-flagarray|df-array|df-linked-list' >
343
343
<xsl : param name =' level' select =' -1' />
344
344
<ld : field ld : meta =' container' >
345
345
<xsl : attribute name =' ld:level' ><xsl : value-of select =' $level' /></xsl : attribute >
You can’t perform that action at this time.
0 commit comments