includes = ["optional", "cstdint", "vector"] [cases] [cases.uint64_empty] param_types = ["std::optional&"] setup = "return std::nullopt;" expect_json = ''' [ { "staticSize": 16, "dynamicSize": 0, "exclusiveSize": 16, "length": 0, "capacity": 1, "elementStaticSize": 8 } ] ''' [cases.uint64_present] param_types = ["std::optional&"] setup = "return 64;" expect_json = ''' [ { "staticSize": 16, "dynamicSize": 0, "exclusiveSize": 16, "length": 1, "capacity": 1, "elementStaticSize": 8 } ] ''' [cases.vector_empty] param_types = ["std::optional>&"] setup = "return std::nullopt;" expect_json = ''' [ { "staticSize": 32, "dynamicSize": 0, "exclusiveSize": 32, "length": 0, "capacity": 1, "elementStaticSize": 24 } ] ''' [cases.vector_present] param_types = ["std::optional>&"] setup = "return {{{1,2,3,4,5}}};" expect_json = ''' [ { "staticSize": 32, "dynamicSize": 40, "exclusiveSize": 8, "length": 1, "capacity": 1, "elementStaticSize": 24, "members": [ { "staticSize": 24, "dynamicSize": 40, "exclusiveSize": 64, "length": 5 } ] } ] '''