File tree Expand file tree Collapse file tree 3 files changed +23
-4
lines changed Expand file tree Collapse file tree 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 = (
148148 header_ref(" vector" );
149149 return " std::vector<bool>" ;
150150 },
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+ },
151157 ' stl-map' => sub {
152158 # TODO: implement get_container_key_type?
153159 my $key = ' void*' ;
Original file line number Diff line number Diff line change 219219 <xs : element name =" stl-vector" type =" StlVectorField" />
220220 <xs : element name =" stl-bit-vector" type =" StlBitVectorField" />
221221 <xs : element name =" stl-deque" type =" StlDequeField" />
222+ <xs : element name =" stl-array" type =" StlArrayField" />
222223 <xs : element name =" stl-set" type =" StlSetField" />
223224 <xs : element name =" stl-map" type =" StlMapField" />
224225 <xs : element name =" stl-unordered-map" type =" StlMapField" />
329330 </xs : extension >
330331 </xs : complexContent >
331332 </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 >
332341 <xs : complexType name =" BitContainerFieldType" mixed =" true" >
333342 <xs : complexContent >
334343 <xs : extension base =" SimpleFieldType" >
388397 </xs : extension >
389398 </xs : complexContent >
390399 </xs : complexType >
400+ <xs : complexType name =" StlArrayField" >
401+ <xs : complexContent >
402+ <xs : extension base =" SizedContainerFieldType" >
403+ </xs : extension >
404+ </xs : complexContent >
405+ </xs : complexType >
391406 <xs : complexType name =" StlSetField" >
392407 <xs : complexContent >
393408 <xs : extension base =" ContainerFieldType" >
458473 </xs : complexType >
459474 <xs : complexType name =" StaticArrayField" >
460475 <xs : complexContent >
461- <xs : extension base =" ContainerFieldType" >
462- <xs : attribute name =" count" type =" xs:positiveInteger" >
463- </xs : attribute >
476+ <xs : extension base =" SizedContainerFieldType" >
464477 </xs : extension >
465478 </xs : complexContent >
466479 </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
339339 </xsl : template >
340340
341341 <!-- 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' >
343343 <xsl : param name =' level' select =' -1' />
344344 <ld : field ld : meta =' container' >
345345 <xsl : attribute name =' ld:level' ><xsl : value-of select =' $level' /></xsl : attribute >
You can’t perform that action at this time.
0 commit comments