WPILibC++ 2027.0.0-alpha-3
Loading...
Searching...
No Matches
generated_code_support.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_GENERATED_CODE_SUPPORT_H_
9#define UPB_GENERATED_CODE_SUPPORT_H_
10
11// This is a bit awkward; we want to conditionally include the fast decoder,
12// but we generally don't let macros like UPB_FASTTABLE leak into user code.
13// We can't // #include "decode_fast.h" inside the port/def.inc, because the
14// inc files strictly prohibit recursive inclusion, and decode_fast.h includes
15// port/def.inc. So instead we use this two-part dance to conditionally include
16// decode_fast.h.
17#include "upb/port/def.inc"
18#if UPB_FASTTABLE
19#define UPB_INCLUDE_FAST_DECODE
20#endif
21#include "upb/port/undef.inc"
22
23// IWYU pragma: begin_exports
24#include "upb/base/upcast.h"
26#include "upb/message/array.h"
32#include "upb/message/message.h"
34#include "upb/mini_table/enum.h"
38#include "upb/mini_table/file.h"
40#include "upb/mini_table/sub.h"
41#include "upb/wire/decode.h"
42#include "upb/wire/encode.h"
43#ifdef UPB_INCLUDE_FAST_DECODE
44// #include "upb/wire/decode_fast/field_parsers.h"
45#endif
46// IWYU pragma: end_exports
47
48#undef UPB_INCLUDE_FAST_DECODE
49
50#endif // UPB_GENERATED_CODE_SUPPORT_H_