WPILibC++ 2027.0.0-alpha-3
Loading...
Searching...
No Matches
sub.h
Go to the documentation of this file.
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_INTERNAL_SUB_H_
9#define UPB_MINI_TABLE_INTERNAL_SUB_H_
10
11// Must be last.
12#include "upb/port/def.inc"
13
14typedef union {
15 const struct upb_MiniTable* const* UPB_PRIVATE(submsg);
16 const struct upb_MiniTableEnum* UPB_PRIVATE(subenum);
18
20 const struct upb_MiniTable* UPB_PRIVATE(submsg);
21 const struct upb_MiniTableEnum* UPB_PRIVATE(subenum);
22};
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
29 const struct upb_MiniTableEnum* subenum) {
30 union upb_MiniTableSub out;
31 out.UPB_PRIVATE(subenum) = subenum;
32 return out;
33}
34
36 const struct upb_MiniTable* submsg) {
37 union upb_MiniTableSub out;
38 out.UPB_PRIVATE(submsg) = submsg;
39 return out;
40}
41
43 const union upb_MiniTableSub sub) {
44 return sub.UPB_PRIVATE(subenum);
45}
46
48 const union upb_MiniTableSub sub) {
49 return sub.UPB_PRIVATE(submsg);
50}
51
52#ifdef __cplusplus
53} /* extern "C" */
54#endif
55
56#include "upb/port/undef.inc"
57
58#endif /* UPB_MINI_TABLE_INTERNAL_SUB_H_ */
#define UPB_API_INLINE
Definition def.inc:163
UPB_API_INLINE const struct upb_MiniTableEnum * upb_MiniTableSub_Enum(const union upb_MiniTableSub sub)
Definition sub.h:42
UPB_API_INLINE union upb_MiniTableSub upb_MiniTableSub_FromMessage(const struct upb_MiniTable *submsg)
Definition sub.h:35
UPB_API_INLINE const struct upb_MiniTable * upb_MiniTableSub_Message(const union upb_MiniTableSub sub)
Definition sub.h:47
UPB_API_INLINE union upb_MiniTableSub upb_MiniTableSub_FromEnum(const struct upb_MiniTableEnum *subenum)
Definition sub.h:28
Definition enum.h:16
Definition message.h:54
Definition sub.h:19
const struct upb_MiniTable * UPB_PRIVATE(submsg)
const struct upb_MiniTableEnum * UPB_PRIVATE(subenum)
Definition sub.h:14
const struct upb_MiniTableEnum * UPB_PRIVATE(subenum)
const struct upb_MiniTable *const * UPB_PRIVATE(submsg)