1/* 2 * Copyright (c) Facebook, Inc. and its affiliates. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17cpp_include "folly/sorted_vector_types.h" 18 19struct StructA { 20 1: bool fieldA; 21 2: i32 fieldB; 22 3: string fieldC; 23 4: list<i32> fieldD; 24 5: set<i32> fieldE; 25 6: map<i32, string> fieldF; 26 7: list<list<list<i32>>> fieldG; 27 8: set<set<set<i32>>> fieldH; 28 9: map<map<i32, string>, map<i32, string>> fieldI; 29 10: map<list<set<i32>>, set<list<i32>>> fieldJ; 30} 31 32typedef map<i32, string> (cpp.template = "folly::sorted_vector_map") folly_map 33typedef set<i32> (cpp.template = "folly::sorted_vector_set") folly_set 34typedef set<folly_set> (cpp.template = "folly::sorted_vector_set") folly_set_set 35typedef map<folly_map, folly_map> ( 36 cpp.template = "folly::sorted_vector_map", 37) folly_map_map 38typedef set<list<i32>> ( 39 cpp.template = "folly::sorted_vector_set", 40) folly_list_set 41typedef map<list<folly_set>, folly_list_set> ( 42 cpp.template = "folly::sorted_vector_map", 43) folly_list_set_map 44 45struct StructB { 46 1: bool fieldA; 47 2: i32 fieldB; 48 3: string fieldC; 49 4: list<i32> fieldD; 50 5: folly_set fieldE; 51 6: folly_map fieldF; 52 7: list<list<list<i32>>> fieldG; 53 8: set<folly_set_set> (cpp.template = "folly::sorted_vector_set") fieldH; 54 9: folly_map_map fieldI; 55 10: folly_list_set_map fieldJ; 56} 57