@@ -298,6 +298,109 @@ struct LargeMixed {
298298 100: string var100 ;
299299}
300300
301+ struct LargeMixedSparse {
302+ 1: optional i32 var1 ;
303+ 2: optional i64 var2 ;
304+ 3: optional bool var3 ;
305+ 4: optional string var4 ;
306+ 5: optional i32 var5 ;
307+ 6: optional i64 var6 ;
308+ 7: optional bool var7 ;
309+ 8: optional string var8 ;
310+ 9: optional i32 var9 ;
311+ 10: optional i64 var10 ;
312+ 11: optional bool var11 ;
313+ 12: optional string var12 ;
314+ 13: optional i32 var13 ;
315+ 14: optional i64 var14 ;
316+ 15: optional bool var15 ;
317+ 16: optional string var16 ;
318+ 17: optional i32 var17 ;
319+ 18: optional i64 var18 ;
320+ 19: optional bool var19 ;
321+ 20: optional string var20 ;
322+ 21: optional i32 var21 ;
323+ 22: optional i64 var22 ;
324+ 23: optional bool var23 ;
325+ 24: optional string var24 ;
326+ 25: optional i32 var25 ;
327+ 26: optional i64 var26 ;
328+ 27: optional bool var27 ;
329+ 28: optional string var28 ;
330+ 29: optional i32 var29 ;
331+ 30: optional i64 var30 ;
332+ 31: optional bool var31 ;
333+ 32: optional string var32 ;
334+ 33: optional i32 var33 ;
335+ 34: optional i64 var34 ;
336+ 35: optional bool var35 ;
337+ 36: optional string var36 ;
338+ 37: optional i32 var37 ;
339+ 38: optional i64 var38 ;
340+ 39: optional bool var39 ;
341+ 40: optional string var40 ;
342+ 41: optional i32 var41 ;
343+ 42: optional i64 var42 ;
344+ 43: optional bool var43 ;
345+ 44: optional string var44 ;
346+ 45: optional i32 var45 ;
347+ 46: optional i64 var46 ;
348+ 47: optional bool var47 ;
349+ 48: optional string var48 ;
350+ 49: optional i32 var49 ;
351+ 50: optional i64 var50 ;
352+ 51: optional bool var51 ;
353+ 52: optional string var52 ;
354+ 53: optional i32 var53 ;
355+ 54: optional i64 var54 ;
356+ 55: optional bool var55 ;
357+ 56: optional string var56 ;
358+ 57: optional i32 var57 ;
359+ 58: optional i64 var58 ;
360+ 59: optional bool var59 ;
361+ 60: optional string var60 ;
362+ 61: optional i32 var61 ;
363+ 62: optional i64 var62 ;
364+ 63: optional bool var63 ;
365+ 64: optional string var64 ;
366+ 65: optional i32 var65 ;
367+ 66: optional i64 var66 ;
368+ 67: optional bool var67 ;
369+ 68: optional string var68 ;
370+ 69: optional i32 var69 ;
371+ 70: optional i64 var70 ;
372+ 71: optional bool var71 ;
373+ 72: optional string var72 ;
374+ 73: optional i32 var73 ;
375+ 74: optional i64 var74 ;
376+ 75: optional bool var75 ;
377+ 76: optional string var76 ;
378+ 77: optional i32 var77 ;
379+ 78: optional i64 var78 ;
380+ 79: optional bool var79 ;
381+ 80: optional string var80 ;
382+ 81: optional i32 var81 ;
383+ 82: optional i64 var82 ;
384+ 83: optional bool var83 ;
385+ 84: optional string var84 ;
386+ 85: optional i32 var85 ;
387+ 86: optional i64 var86 ;
388+ 87: optional bool var87 ;
389+ 88: optional string var88 ;
390+ 89: optional i32 var89 ;
391+ 90: optional i64 var90 ;
392+ 91: optional bool var91 ;
393+ 92: optional string var92 ;
394+ 93: optional i32 var93 ;
395+ 94: optional i64 var94 ;
396+ 95: optional bool var95 ;
397+ 96: optional string var96 ;
398+ 97: optional i32 var97 ;
399+ 98: optional i64 var98 ;
400+ 99: optional bool var99 ;
401+ 100: optional string var100 ;
402+ }
403+
301404struct MixedInt {
302405 1: i32 var1 ;
303406 2: i32 var2 ;
@@ -647,6 +750,110 @@ struct OpLargeMixed {
647750 100: string var100 ;
648751}
649752
753+ @cpp.UseOpEncode
754+ struct OpLargeMixedSparse {
755+ 1: optional i32 var1 ;
756+ 2: optional i64 var2 ;
757+ 3: optional bool var3 ;
758+ 4: optional string var4 ;
759+ 5: optional i32 var5 ;
760+ 6: optional i64 var6 ;
761+ 7: optional bool var7 ;
762+ 8: optional string var8 ;
763+ 9: optional i32 var9 ;
764+ 10: optional i64 var10 ;
765+ 11: optional bool var11 ;
766+ 12: optional string var12 ;
767+ 13: optional i32 var13 ;
768+ 14: optional i64 var14 ;
769+ 15: optional bool var15 ;
770+ 16: optional string var16 ;
771+ 17: optional i32 var17 ;
772+ 18: optional i64 var18 ;
773+ 19: optional bool var19 ;
774+ 20: optional string var20 ;
775+ 21: optional i32 var21 ;
776+ 22: optional i64 var22 ;
777+ 23: optional bool var23 ;
778+ 24: optional string var24 ;
779+ 25: optional i32 var25 ;
780+ 26: optional i64 var26 ;
781+ 27: optional bool var27 ;
782+ 28: optional string var28 ;
783+ 29: optional i32 var29 ;
784+ 30: optional i64 var30 ;
785+ 31: optional bool var31 ;
786+ 32: optional string var32 ;
787+ 33: optional i32 var33 ;
788+ 34: optional i64 var34 ;
789+ 35: optional bool var35 ;
790+ 36: optional string var36 ;
791+ 37: optional i32 var37 ;
792+ 38: optional i64 var38 ;
793+ 39: optional bool var39 ;
794+ 40: optional string var40 ;
795+ 41: optional i32 var41 ;
796+ 42: optional i64 var42 ;
797+ 43: optional bool var43 ;
798+ 44: optional string var44 ;
799+ 45: optional i32 var45 ;
800+ 46: optional i64 var46 ;
801+ 47: optional bool var47 ;
802+ 48: optional string var48 ;
803+ 49: optional i32 var49 ;
804+ 50: optional i64 var50 ;
805+ 51: optional bool var51 ;
806+ 52: optional string var52 ;
807+ 53: optional i32 var53 ;
808+ 54: optional i64 var54 ;
809+ 55: optional bool var55 ;
810+ 56: optional string var56 ;
811+ 57: optional i32 var57 ;
812+ 58: optional i64 var58 ;
813+ 59: optional bool var59 ;
814+ 60: optional string var60 ;
815+ 61: optional i32 var61 ;
816+ 62: optional i64 var62 ;
817+ 63: optional bool var63 ;
818+ 64: optional string var64 ;
819+ 65: optional i32 var65 ;
820+ 66: optional i64 var66 ;
821+ 67: optional bool var67 ;
822+ 68: optional string var68 ;
823+ 69: optional i32 var69 ;
824+ 70: optional i64 var70 ;
825+ 71: optional bool var71 ;
826+ 72: optional string var72 ;
827+ 73: optional i32 var73 ;
828+ 74: optional i64 var74 ;
829+ 75: optional bool var75 ;
830+ 76: optional string var76 ;
831+ 77: optional i32 var77 ;
832+ 78: optional i64 var78 ;
833+ 79: optional bool var79 ;
834+ 80: optional string var80 ;
835+ 81: optional i32 var81 ;
836+ 82: optional i64 var82 ;
837+ 83: optional bool var83 ;
838+ 84: optional string var84 ;
839+ 85: optional i32 var85 ;
840+ 86: optional i64 var86 ;
841+ 87: optional bool var87 ;
842+ 88: optional string var88 ;
843+ 89: optional i32 var89 ;
844+ 90: optional i64 var90 ;
845+ 91: optional bool var91 ;
846+ 92: optional string var92 ;
847+ 93: optional i32 var93 ;
848+ 94: optional i64 var94 ;
849+ 95: optional bool var95 ;
850+ 96: optional string var96 ;
851+ 97: optional i32 var97 ;
852+ 98: optional i64 var98 ;
853+ 99: optional bool var99 ;
854+ 100: optional string var100 ;
855+ }
856+
650857@cpp.UseOpEncode
651858struct OpMixedInt {
652859 1: i32 var1 ;
0 commit comments