1 // Protocol Buffers - Google's data interchange format 2 // Copyright 2023 Google LLC. All rights reserved. 3 // 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file or at 6 // https://developers.google.com/open-source/licenses/bsd 7 8 #ifndef UPB_MINI_TABLE_SUB_H_ 9 #define UPB_MINI_TABLE_SUB_H_ 10 11 #include "upb/mini_table/enum.h" 12 #include "upb/mini_table/internal/sub.h" 13 #include "upb/mini_table/message.h" 14 15 // Must be last. 16 #include "upb/port/def.inc" 17 18 typedef union upb_MiniTableSub upb_MiniTableSub; 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 // Constructors 25 26 UPB_API_INLINE upb_MiniTableSub upb_MiniTableSub_FromEnum(const upb_MiniTableEnum * subenum)27upb_MiniTableSub_FromEnum(const upb_MiniTableEnum* subenum) { 28 return UPB_PRIVATE(_upb_MiniTableSub_FromEnum)(subenum); 29 } 30 31 UPB_API_INLINE upb_MiniTableSub upb_MiniTableSub_FromMessage(const upb_MiniTable * submsg)32upb_MiniTableSub_FromMessage(const upb_MiniTable* submsg) { 33 return UPB_PRIVATE(_upb_MiniTableSub_FromMessage)(submsg); 34 } 35 36 // Getters 37 upb_MiniTableSub_Enum(upb_MiniTableSub sub)38UPB_API_INLINE const upb_MiniTableEnum* upb_MiniTableSub_Enum( 39 upb_MiniTableSub sub) { 40 return UPB_PRIVATE(_upb_MiniTableSub_Enum)(sub); 41 } 42 upb_MiniTableSub_Message(upb_MiniTableSub sub)43UPB_API_INLINE const upb_MiniTable* upb_MiniTableSub_Message( 44 upb_MiniTableSub sub) { 45 return UPB_PRIVATE(_upb_MiniTableSub_Message)(sub); 46 } 47 48 #ifdef __cplusplus 49 } /* extern "C" */ 50 #endif 51 52 #include "upb/port/undef.inc" 53 54 #endif /* UPB_MINI_TABLE_SUB_H_ */ 55