protovalidate 0.1.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +8 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +201 -0
- data/NOTICE.md +30 -0
- data/README.md +93 -0
- data/Rakefile +32 -0
- data/ext/protovalidate/Cargo.lock +342 -0
- data/ext/protovalidate/Cargo.toml +27 -0
- data/ext/protovalidate/build.rs +4 -0
- data/ext/protovalidate/extconf.rb +8 -0
- data/ext/protovalidate/src/lib.rs +161 -0
- data/ext/protovalidate/sys/Cargo.toml +11 -0
- data/ext/protovalidate/sys/build.rs +218 -0
- data/ext/protovalidate/sys/filelists/absl.txt +126 -0
- data/ext/protovalidate/sys/filelists/antlr4.txt +139 -0
- data/ext/protovalidate/sys/filelists/celcpp.txt +199 -0
- data/ext/protovalidate/sys/filelists/protobuf.txt +83 -0
- data/ext/protovalidate/sys/filelists/protovalidate.txt +14 -0
- data/ext/protovalidate/sys/filelists/re2.txt +25 -0
- data/ext/protovalidate/sys/gen/buf/validate/validate.pb.cc +23621 -0
- data/ext/protovalidate/sys/gen/buf/validate/validate.pb.h +27800 -0
- data/ext/protovalidate/sys/gen/cel/expr/checked.pb.cc +6286 -0
- data/ext/protovalidate/sys/gen/cel/expr/checked.pb.h +6412 -0
- data/ext/protovalidate/sys/gen/cel/expr/syntax.pb.cc +7423 -0
- data/ext/protovalidate/sys/gen/cel/expr/syntax.pb.h +7510 -0
- data/ext/protovalidate/sys/gen/cel/expr/value.pb.cc +2512 -0
- data/ext/protovalidate/sys/gen/cel/expr/value.pb.h +2589 -0
- data/ext/protovalidate/sys/gen/internal/empty_descriptor_set_embed.inc +1 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelBaseVisitor.cpp +9 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelBaseVisitor.h +167 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelLexer.cpp +308 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelLexer.h +57 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelParser.cpp +2484 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelParser.h +697 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelVisitor.cpp +9 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelVisitor.h +98 -0
- data/ext/protovalidate/sys/shim/pv_shim.cc +260 -0
- data/ext/protovalidate/sys/shim/pv_shim.h +84 -0
- data/ext/protovalidate/sys/src/lib.rs +176 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/LICENSE +203 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/algorithm/algorithm.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/algorithm/container.h +2011 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/attributes.h +1100 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/call_once.h +228 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/casts.cc +61 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/casts.h +313 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/config.h +898 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/const_init.h +76 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/dynamic_annotations.h +480 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/fast_type_id.h +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/endian.h +279 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h +1112 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/hardening.h +136 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +75 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +667 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +196 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/poison.h +59 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +279 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/raw_logging.h +217 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock.cc +225 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock.h +310 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +493 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/thread_identity.h +325 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +89 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +134 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +118 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/log_severity.cc +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/log_severity.h +185 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/macros.h +259 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/no_destructor.h +191 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/nullability.h +318 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/optimization.h +311 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/options.h +212 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/policy_checks.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/port.h +25 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/prefetch.h +209 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/thread_annotations.h +333 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/throw_delegate.cc +205 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/throw_delegate.h +65 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/cleanup/cleanup.h +143 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/btree_map.h +941 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/btree_set.h +872 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/chunked_queue.h +757 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/fixed_array.h +548 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/flat_hash_map.h +714 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/flat_hash_set.h +604 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/inlined_vector.h +1025 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/btree.h +3157 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/btree_container.h +875 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/common.h +302 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +151 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +275 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/container_memory.h +571 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +281 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h +172 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h +173 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +316 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +294 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +1094 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/layout.h +828 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +380 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +2110 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +4056 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/test_allocator.h +387 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/tracked.h +83 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/linked_hash_map.h +666 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/linked_hash_set.h +527 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/node_hash_map.h +710 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/node_hash_set.h +603 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/crc32c.cc +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/crc32c.h +192 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +359 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc.cc +435 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc.h +83 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +319 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +131 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +161 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +122 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +78 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +459 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +824 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +2958 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle.h +76 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +413 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +141 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +334 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +299 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +148 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +121 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +121 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +270 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +208 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +25 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +410 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +209 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/stacktrace.cc +204 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/stacktrace.h +259 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize.cc +62 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1708 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/commandlineflag.h +220 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/config.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/declare.h +77 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/flag.h +307 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/flag.h +969 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/parse.h +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/registry.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/usage.h +106 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/marshalling.h +335 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/parse.h +130 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/usage.h +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/any_invocable.h +335 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/bind_back.h +79 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/bind_front.h +200 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/function_ref.h +249 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +787 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/back_binder.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/front_binder.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/function_ref.h +151 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/overload.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/hash.h +466 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/hash_testing.h +382 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/city.cc +337 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/city.h +78 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/hash.cc +430 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/hash.h +1619 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h +289 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_check.h +117 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_log.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/check.h +210 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/check_test_impl.inc +1035 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/die_if_null.cc +34 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/die_if_null.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/flags.h +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/globals.cc +178 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/globals.h +230 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/initialize.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/append_truncated.h +75 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_impl.h +151 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_op.cc +147 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_op.h +565 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/conditions.cc +85 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/conditions.h +247 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/config.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/container.h +312 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/flags.h +59 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/globals.cc +145 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/globals.h +101 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_format.cc +205 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_format.h +78 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_impl.h +280 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_message.cc +788 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_message.h +469 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullguard.h +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullstream.h +128 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/proto.cc +231 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/proto.h +298 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/strip.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured.h +160 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured_proto.h +108 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_actions.h +90 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +347 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/vlog_config.h +164 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/voidify.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log.h +378 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc +654 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_entry.cc +263 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_entry.h +223 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink.cc +23 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink_registry.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_streamer.h +208 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/scoped_mock_log.h +203 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/structured.h +75 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/vlog_is_on.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/memory/memory.h +328 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/internal/requires.h +67 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/type_traits.h +646 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/bits.h +262 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128.cc +344 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128.h +1224 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +303 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +347 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/internal/bits.h +394 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/hashtable.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/profile_builder.h +161 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +202 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/beta_distribution.h +429 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/bit_gen_ref.h +160 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/discrete_distribution.h +249 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/distributions.h +450 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/exponential_distribution.h +166 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/gaussian_distribution.h +276 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/chi_square.h +89 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +83 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +271 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +248 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_helpers.h +134 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h +122 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_validators.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +160 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/platform.h +158 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_engine.h +265 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +166 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/seed_material.h +105 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/traits.h +170 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +253 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mock_distributions.h +269 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mocking_access.h +74 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mocking_bit_gen.h +227 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/poisson_distribution.h +262 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/random.h +224 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/seed_sequences.h +112 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +276 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +204 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/zipf_distribution.h +273 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_internal.cc +296 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_internal.h +157 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_matchers.h +260 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +657 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status.cc +413 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status.h +1174 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_builder.h +978 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_macros.h +484 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_matchers.h +167 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_payload_printer.cc +36 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_payload_printer.h +53 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/statusor.cc +106 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/statusor.h +776 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/ascii.cc +296 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/ascii.h +288 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charconv.cc +1442 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charconv.h +123 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charset.h +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord.cc +1601 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord.h +1773 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_analysis.cc +196 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_analysis.h +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_buffer.h +574 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h +152 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/escaping.cc +1183 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/escaping.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/has_ostream_operator.h +42 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +357 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +433 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +942 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1237 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +944 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +47 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +87 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +165 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +424 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +295 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping.cc +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/generic_printer_internal.h +444 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/memutil.cc +48 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/memutil.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +114 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +615 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +653 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +275 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +237 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +357 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +53 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +456 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +2148 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +74 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +271 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +340 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +524 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/string_constant.h +67 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_stream.h +119 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/utf8.cc +148 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/utf8.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/match.cc +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/match.h +129 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/numbers.cc +1636 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/numbers.h +363 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/resize_and_overwrite.h +198 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_cat.cc +247 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_cat.h +668 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_format.h +887 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_join.h +301 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_replace.cc +91 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_replace.h +222 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_split.cc +144 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_split.h +587 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/string_view.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/strip.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/substitute.cc +187 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/substitute.h +769 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +107 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +173 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex.h +177 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +107 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +714 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +146 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +220 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +178 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +124 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +118 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +87 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +38 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +147 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/mutex.cc +2833 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/mutex.h +1352 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/notification.cc +85 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/notification.h +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/civil_time.cc +200 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/civil_time.h +589 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock.cc +603 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock.h +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock_interface.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/duration.cc +918 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/format.cc +155 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +644 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +460 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1069 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +47 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +80 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1070 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +128 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +333 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +217 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +185 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/test_util.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/simulated_clock.h +109 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/time.cc +507 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/time.h +1926 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/any.h +66 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/any_span.h +1067 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/compare.h +506 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/internal/any_span.h +477 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/internal/span.h +140 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/optional.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/optional_ref.h +295 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/source_location.cc +18 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/source_location.h +172 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/span.h +827 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/variant.h +139 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/utility/utility.h +151 -0
- data/ext/protovalidate/sys/third_party/antlr4/LICENSE.txt +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.h +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +180 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.h +79 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CharStream.h +37 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.cpp +193 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.h +158 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +336 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.h +99 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.cpp +52 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FlatHashMap.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FlatHashSet.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/IntStream.h +218 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Lexer.cpp +294 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Lexer.h +196 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.cpp +60 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.h +46 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Parser.cpp +670 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Parser.h +461 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.cpp +294 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.h +173 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.cpp +138 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.cpp +65 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.cpp +157 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.h +160 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.cpp +144 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.h +141 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Token.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Token.h +92 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.h +85 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.h +137 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +428 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.h +295 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +208 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.h +117 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Version.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.cpp +64 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.h +177 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/antlr4-common.h +101 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/antlr4-runtime.h +168 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.cpp +159 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.h +133 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +106 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.h +157 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +233 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +157 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +48 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +628 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.h +71 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.cpp +56 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.h +139 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +29 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.h +35 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +129 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.h +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BasicState.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BlockEndState.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BlockStartState.h +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.cpp +12 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.h +34 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/HashUtils.h +18 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +189 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +76 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +67 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +621 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +199 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.cpp +15 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.h +100 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +108 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +128 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionType.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +59 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +45 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +75 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +76 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LoopEndState.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1413 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +911 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +29 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +35 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.h +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +601 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.h +225 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +63 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +202 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.h +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleStartState.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleStopState.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +418 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.h +237 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.cpp +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.h +38 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +79 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +37 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TokensStartState.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.h +65 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +21 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.cpp +115 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.h +96 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +60 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.cpp +59 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.h +154 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +17 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.cpp +100 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.h +154 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.cpp +61 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +508 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.h +190 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +120 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.h +102 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Any.cpp +8 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Any.h +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.h +149 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.cpp +207 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h +65 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Casts.h +34 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Declarations.h +161 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.cpp +38 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.h +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +129 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNode.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +66 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.cpp +12 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.h +111 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +48 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +55 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNode.h +40 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +370 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +180 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/LICENSE +202 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/ast.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute.cc +330 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute.h +278 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute_set.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/builtins.h +106 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_adapter.h +19 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_descriptor.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result_set.cc +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result_set.h +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/memory_manager_testing.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/message_wrapper.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/operators.h +91 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/unknown_set.cc +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/unknown_set.h +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/kind.h +25 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/operators.h +507 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/type_provider.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/checker_options.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/builtins_arena.cc +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/builtins_arena.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/field_path.h +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/namespace_generator.h +120 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/proto_type_mask.h +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/proto_type_mask_registry.h +83 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/test_ast_helpers.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_check_env.h +249 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_checker_builder_impl.h +170 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_checker_impl.h +58 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_inference_context.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/optional.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/standard_library.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_check_issue.cc +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_check_issue.h +69 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker.cc +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_builder.h +186 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_builder_factory.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_subset_factory.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/validation_result.cc +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/validation_result.h +117 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/checked_expr_conversion_example.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise1.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise10.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise2.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise4.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/network_functions.h +197 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/allocator.h +606 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/any.cc +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/any.h +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string.h +365 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string_pool.h +86 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string_view.h +239 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/constant_proto.cc +123 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/constant_proto.h +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/expr_proto.cc +514 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/expr_proto.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/metadata.cc +262 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/metadata.h +920 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_internal.h +311 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_kinds.cc +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_kinds.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/source_info_proto.cc +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/source_info_proto.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast.cc +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast.h +157 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_proto.cc +547 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_proto.h +52 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_rewrite.cc +389 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_rewrite.h +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_traverse.cc +380 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_traverse.h +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_visitor.h +118 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_visitor_base.h +88 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/casting.h +75 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/constant.cc +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/constant.h +491 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/container.cc +171 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/container.h +138 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/data.h +120 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl.cc +221 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl.h +446 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl_proto.h +50 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl_proto_v1alpha1.h +55 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/descriptor_pool_type_introspector.cc +244 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/descriptor_pool_type_introspector.h +106 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr.cc +320 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr.h +1720 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr_factory.h +402 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr_printer.h +57 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/format_type_name.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/function_descriptor.cc +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/function_descriptor.h +124 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/byte_string.cc +1074 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/byte_string.h +688 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/casting.h +237 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/metadata.h +41 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/reference_count.cc +118 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/reference_count.h +406 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/value_conversion.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/json.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/kind.cc +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/kind.h +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/legacy_value.cc +1324 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/legacy_value.h +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/memory.cc +83 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/memory.h +1505 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/memory_testing.h +71 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/minimal_descriptor_database.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/minimal_descriptor_pool.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/native_type.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/navigable_ast.cc +202 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/navigable_ast.h +168 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/operators.cc +233 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/operators.h +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/optional_ref.h +163 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/reference.h +269 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/reference_count.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/signature.cc +640 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/signature.h +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/source.cc +679 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/source.h +261 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/standard_definitions.h +349 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type.cc +737 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type.h +1303 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_introspector.cc +277 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_introspector.h +157 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_kind.h +113 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_proto.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_reflector.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_spec_resolver.cc +324 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_spec_resolver.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_testing.h +24 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/typeinfo.cc +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/typeinfo.h +221 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/any_type.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/basic_struct_type.cc +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/basic_struct_type.h +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bool_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bool_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bytes_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bytes_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/double_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/double_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/duration_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/dyn_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/enum_type.cc +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/enum_type.h +128 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/error_type.h +75 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type.cc +89 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type.h +91 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type_pool.cc +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type_pool.h +102 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/int_type.h +72 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/int_wrapper_type.h +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/legacy_type_introspector.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type.cc +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type_pool.cc +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type_pool.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type.cc +122 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type.h +124 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type_pool.cc +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type_pool.h +93 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/message_type.cc +95 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/message_type.h +209 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/null_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type.cc +109 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type.h +118 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type_pool.cc +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type_pool.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/optional_type.cc +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/optional_type.h +114 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/string_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/string_wrapper_type.h +86 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/struct_type.cc +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/struct_type.h +158 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/timestamp_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_param_type.h +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_pool.cc +96 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_pool.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type.cc +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type.h +92 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type_pool.cc +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type_pool.h +86 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/types.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/uint_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/uint_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/unknown_type.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/unknown.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value.cc +2791 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value.h +2947 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value_kind.h +104 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value_testing.h +307 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bool_value.cc +97 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bool_value.h +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value.h +338 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value_input_stream.h +133 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value_output_stream.h +176 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_list_value.cc +614 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_list_value.h +423 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_map_value.cc +823 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_map_value.h +469 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_struct_value.cc +385 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_struct_value.h +459 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_value.h +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/double_value.cc +137 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/double_value.h +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/duration_value.cc +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/duration_value.h +147 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/enum_value.h +49 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/error_value.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/error_value.h +276 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/int_value.cc +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/int_value.h +117 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_list_value.cc +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_list_value.h +167 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_map_value.cc +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_map_value.h +185 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_struct_value.cc +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_struct_value.h +183 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value.cc +304 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value.h +284 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value_builder.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value_variant.h +214 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value.cc +378 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value.h +323 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value_builder.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value_variant.h +212 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/message_value.cc +306 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/message_value.h +268 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/null_value.cc +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/null_value.h +96 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/opaque_value.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/opaque_value.h +338 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/optional_value.cc +435 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/optional_value.h +207 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_list_value.cc +486 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_list_value.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_map_value.cc +439 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_map_value.h +250 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_value.cc +103 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_value.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_map_field_value.cc +583 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_map_field_value.h +242 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_message_value.cc +411 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_message_value.h +249 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_repeated_field_value.cc +365 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_repeated_field_value.h +220 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/string_value.cc +1518 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/string_value.h +489 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value.cc +390 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value.h +373 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_builder.cc +1552 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_builder.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_variant.h +205 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/timestamp_value.cc +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/timestamp_value.h +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/type_value.cc +72 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/type_value.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/uint_value.cc +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/uint_value.h +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/unknown_value.cc +66 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/unknown_value.h +121 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_builder.cc +1432 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_builder.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_variant.cc +537 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_variant.h +831 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/values.h +351 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler.h +195 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler_factory.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler_library_subset_factory.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/optional.h +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/standard_library.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/config.h +173 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env.h +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env_runtime.h +85 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env_std_extensions.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env_yaml.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/internal/ext_registry.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/internal/runtime_ext_registry.h +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/runtime_std_extensions.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/type_info.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.cc +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/check_ast_extensions.cc +58 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/check_ast_extensions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.cc +275 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.h +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/constant_folding.cc +280 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/constant_folding.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder.cc +2667 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder.h +104 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.cc +474 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.h +481 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/instrumentation.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/qualified_reference_resolver.cc +359 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/qualified_reference_resolver.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.cc +274 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/resolver.cc +222 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/resolver.h +127 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_trail.cc +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_trail.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_utility.cc +260 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_utility.h +179 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/cel_expression_flat_impl.cc +147 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/cel_expression_flat_impl.h +175 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/compiler_constant_step.cc +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/compiler_constant_step.h +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_slots.h +153 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_step.cc +685 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_step.h +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/const_value_step.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/container_access_step.cc +370 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/container_access_step.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_list_step.cc +283 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_list_step.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_map_step.cc +289 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_map_step.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_struct_step.cc +270 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_struct_step.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/direct_expression_step.cc +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/direct_expression_step.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/equality_steps.cc +293 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/equality_steps.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_core.cc +178 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_core.h +516 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_stack.cc +92 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_stack.h +327 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/expression_step_base.h +12 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/function_step.cc +529 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/function_step.h +48 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ident_step.cc +174 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ident_step.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/iterator_stack.h +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/jump_step.cc +172 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/jump_step.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/lazy_init_step.cc +236 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/lazy_init_step.h +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/logic_step.cc +487 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/logic_step.h +49 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/optional_or_step.cc +305 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/optional_or_step.h +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/regex_match_step.cc +135 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/regex_match_step.h +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/select_step.cc +581 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/select_step.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/shadowable_value_step.cc +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/shadowable_value_step.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ternary_step.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ternary_step.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/trace_step.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/adapter_activation_impl.cc +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/adapter_activation_impl.h +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/cel_value_equal.cc +242 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/cel_value_equal.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/errors.cc +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/errors.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/interop.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation.cc +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation.h +170 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation_bind_helper.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_rewrite.h +175 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_traverse.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_visitor.h +185 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_visitor_base.h +109 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/base_activation.h +75 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/builtin_func_registrar.cc +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/builtin_func_registrar.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_attribute.cc +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_attribute.h +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_builtins.h +19 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expr_builder_factory.cc +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expr_builder_factory.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expression.h +144 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function.cc +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_adapter.h +121 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_adapter_impl.h +407 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_registry.cc +122 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_registry.h +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_number.cc +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_number.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_options.cc +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_options.h +233 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_type_registry.cc +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_type_registry.h +145 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value.cc +412 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value.h +770 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value_internal.h +103 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value_producer.h +25 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/comparison_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/container_function_registrar.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_list_impl.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_map_impl.cc +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_map_impl.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_access.cc +85 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_access.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_backed_list_impl.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_backed_map_impl.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.cc +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.cc +298 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.h +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/equality_function_registrar.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/extension_func_registrar.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/logical_function_registrar.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/message_wrapper.h +139 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/portable_cel_function_adapter.h +72 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/set_util.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/source_position.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/string_extension_func_registrar.cc +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/string_extension_func_registrar.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_descriptor_pool_builder.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.cc +1479 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.cc +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/field_access_impl.cc +746 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/field_access_impl.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_adapter.h +177 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_info_apis.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_provider.cc +232 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_provider.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.cc +708 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.h +137 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.cc +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.h +67 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_value_factory.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/trivial_legacy_type_info.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/transform_utility.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_attribute_set.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_function_result_set.cc +1 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_function_result_set.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_set.h +22 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/value_export_util.h +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/bindings_ext.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2_functions.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2_macros.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/encoders.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/formatting.cc +570 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/formatting.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/lists_functions.h +138 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext_decls.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext_macros.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/proto_ext.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/ast_converters.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/bind_proto_to_activation.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/enum_adapter.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/map_reflection.cc +132 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/map_reflection.h +67 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/qualify.cc +457 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/qualify.h +117 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/memory_manager.cc +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/memory_manager.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/runtime_adapter.h +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/value.h +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/value_testing.h +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/regex_ext.h +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/regex_functions.h +52 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/select_optimization.cc +958 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/select_optimization.h +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/sets_functions.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/strings.cc +432 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/strings.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/align.h +95 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/benchmark.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/casts.h +50 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/empty_descriptors.cc +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/empty_descriptors.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/equals_text_proto.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/exceptions.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/json.cc +2041 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/json.h +141 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/lexis.cc +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/lexis.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/manual.h +91 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_equality.cc +1490 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_equality.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_type_name.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/minimal_descriptor_database.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/minimal_descriptor_pool.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/names.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/new.cc +142 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/new.h +61 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/noop_delete.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/number.h +299 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/overflow.cc +339 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/overflow.h +178 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/parse_text_proto.h +121 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_file_util.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_matchers.h +140 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_time_encoding.cc +103 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_time_encoding.h +49 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_util.h +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/protobuf_runtime_version.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/re2_options.h +61 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/runfiles.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/status_builder.h +114 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/status_macros.h +152 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/string_pool.cc +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/string_pool.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/strings.cc +693 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/strings.h +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing_descriptor_pool.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing_message_factory.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/time.cc +198 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/time.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/to_address.h +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/unicode.h +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/utf8.cc +526 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/utf8.h +82 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/well_known_types.cc +2181 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/well_known_types.h +1593 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory.cc +320 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory.h +174 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory_interface.h +130 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/lexer.cc +711 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/lexer.h +286 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/options.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser.cc +226 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser_worker.cc +261 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser_worker.h +1143 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro.cc +561 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_expr_factory.cc +128 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_expr_factory.h +333 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_registry.cc +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_registry.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/options.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser.cc +1995 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser.h +102 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser_interface.h +160 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser_subset_factory.h +41 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/source_factory.h +47 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/standard_macros.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy.h +333 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parse_context.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parse_result.h +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parser.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_validation_result.h +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/compiler.h +50 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/issue_reporter.h +57 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/optimizer_expr_factory.h +419 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/yaml_string_element_scanner.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/test_util.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/yaml_policy_parser.h +135 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation.cc +141 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation.h +184 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation_interface.h +109 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/bind_proto_to_activation.h +174 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/comprehension_vulnerability_check.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/constant_folding.h +69 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/embedder_context.h +147 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_adapter.h +830 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_overload_reference.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_provider.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_registry.cc +263 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_registry.h +160 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.cc +61 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/attribute_matcher.h +48 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/convert_constant.cc +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/convert_constant.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/errors.cc +69 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/errors.h +71 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/function_adapter.h +232 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/issue_collector.h +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/legacy_runtime_type_provider.h +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env.cc +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env.h +134 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env_testing.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_friend_access.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_impl.cc +159 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_impl.h +125 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_type_provider.cc +96 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_type_provider.h +66 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/optional_types.h +152 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/reference_resolver.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/regex_precompilation.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/register_function_helper.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_builder.h +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_builder_factory.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_issue.h +88 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_options.h +209 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/arithmetic_functions.cc +233 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/arithmetic_functions.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/comparison_functions.cc +272 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/comparison_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_functions.cc +136 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_membership_functions.cc +331 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_membership_functions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/equality_functions.cc +612 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/equality_functions.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/logical_functions.cc +66 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/logical_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/regex_functions.cc +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/regex_functions.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/string_functions.cc +140 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/string_functions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/time_functions.cc +499 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/time_functions.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/type_conversion_functions.cc +470 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/type_conversion_functions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard_functions.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard_runtime_builder_factory.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/type_registry.cc +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/type_registry.h +155 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/branch_coverage.h +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/cel_field_extractor.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/cel_unparser.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/descriptor_pool_builder.h +93 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/flatbuffers_backed_impl.h +58 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/navigable_ast.h +169 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/proto_to_predicate.h +48 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/ast_depth_validator.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/comprehension_nesting_validator.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/homogeneous_literal_validator.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/regex_validator.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/timestamp_literal_validator.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/validator.cc +85 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/validator.h +151 -0
- data/ext/protovalidate/sys/third_party/protobuf/LICENSE +32 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.cc +65 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.h +161 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.pb.cc +528 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.pb.h +516 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any_lite.cc +95 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/api.pb.cc +1959 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/api.pb.h +1985 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena.cc +1004 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena.h +1238 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_align.cc +21 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_align.h +199 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_allocation_policy.h +102 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_cleanup.h +108 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_test_util.h +91 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenastring.cc +290 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenastring.h +545 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenaz_sampler.cc +227 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenaz_sampler.h +238 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/annotation_test_util.h +105 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/code_generator.h +256 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/code_generator_lite.h +77 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/command_line_interface.h +517 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/command_line_interface_tester.h +162 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/importer.cc +594 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/importer.h +338 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/mock_code_generator.h +144 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/notices.h +242 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/package_info.h +40 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/parser.cc +2716 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/parser.h +642 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/plugin.h +73 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h +2320 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/retention.h +70 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/scc.h +155 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/subprocess.h +91 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/versions.h +78 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/zip_writer.h +45 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_edition_defaults.h +12 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc +539 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_features.pb.h +630 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.cc +10801 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.h +3417 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.pb.cc +18982 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.pb.h +23170 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_database.cc +1102 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_database.h +423 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_legacy.h +32 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_lite.h +110 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_test_utils.h +129 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_visitor.h +187 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/duration.pb.cc +481 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/duration.pb.h +367 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/dynamic_message.cc +1104 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/dynamic_message.h +217 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/empty.pb.cc +285 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/empty.pb.h +245 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/endian.h +192 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/explicitly_constructed.h +71 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set.cc +1925 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set.h +1886 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc +459 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set_inl.h +274 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/feature_resolver.cc +637 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/feature_resolver.h +108 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_access_listener.h +166 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_mask.pb.cc +472 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_mask.pb.h +396 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_with_arena.h +110 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_reflection.h +187 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_util.cc +223 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_util.h +185 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_bases.cc +88 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_bases.h +68 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc +4185 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_reflection.h +372 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_decl.h +615 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_full.cc +105 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.cc +960 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.h +193 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_impl.h +1229 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_lite.cc +3308 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_util.cc +434 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_util.h +445 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/has_bits.h +138 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/implicit_weak_message.cc +139 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/implicit_weak_message.h +266 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/inlined_string_field.cc +144 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/inlined_string_field.h +379 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_feature_helper.cc +28 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_feature_helper.h +130 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_metadata_locator.h +291 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_visibility.h +55 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_visibility_for_testing.h +27 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/coded_stream.cc +1045 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/coded_stream.h +1885 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/gzip_stream.cc +333 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/gzip_stream.h +189 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/io_win32.cc +450 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/io_win32.h +118 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/package_info.h +30 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/printer.cc +842 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/printer.h +1183 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/strtod.cc +260 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/strtod.h +57 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/test_zero_copy_stream.h +185 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/tokenizer.cc +1262 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/tokenizer.h +441 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_sink.cc +45 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_sink.h +59 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc +128 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.h +269 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +354 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h +319 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +699 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h +533 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/descriptor_traits.h +510 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/lexer.cc +512 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/lexer.h +341 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/message_path.cc +46 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/message_path.h +61 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser.cc +1437 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser.h +37 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser_traits.h +400 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser.cc +915 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser.h +38 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser_traits.h +414 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/untyped_message.cc +577 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/untyped_message.h +246 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/writer.cc +307 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/writer.h +214 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc +152 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.h +338 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/json.cc +137 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/json.h +200 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map.cc +297 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map.h +1787 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_entry.h +139 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field.cc +597 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field.h +925 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field_lite.h +124 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_test.inc +4427 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_test_util.h +617 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_type_handler.h +374 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message.cc +745 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message.h +1936 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_lite.cc +807 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_lite.h +1861 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_unittest.inc +2302 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_unittest_legacy_apis.inc +98 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/metadata.h +13 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/metadata_lite.h +271 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/micro_string.cc +376 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/micro_string.h +649 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/os_macros_restore.inc +97 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/os_macros_undef.inc +166 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/package_info.h +43 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/parse_context.cc +850 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/parse_context.h +1883 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port.cc +131 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port.h +908 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port_def.inc +820 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port_undef.inc +97 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/proto3_lite_unittest.inc +127 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/raw_ptr.cc +29 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/raw_ptr.h +64 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection.h +603 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_internal.h +313 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_mode.cc +36 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_mode.h +144 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_ops.cc +456 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_ops.h +67 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_tester.h +127 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_visit_field_info.h +1378 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_visit_fields.h +511 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field.cc +76 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field.h +1814 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy.h +697 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy_iterator.h +236 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy_traits.h +100 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_reflection_unittest.inc +687 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_ptr_field.cc +251 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h +2706 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/runtime_version.h +27 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/serial_arena.h +447 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/service.cc +22 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/service.h +271 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/source_context.pb.cc +463 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/source_context.pb.h +376 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/string_block.h +181 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/string_member_robber.h +17 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/struct.pb.cc +1663 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/struct.pb.h +1426 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/callback.h +584 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/common.cc +121 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/common.h +94 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h +115 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/port.h +228 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/status_macros.h +72 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/symbol_checker.cc +219 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/symbol_checker.h +142 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_textproto.h +54 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util.h +3897 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util2.h +70 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util_lite.h +86 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/text_format.cc +3324 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/text_format.h +925 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/thread_safe_arena.h +297 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/timestamp.pb.cc +481 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/timestamp.pb.h +367 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/type.pb.cc +3129 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/type.pb.h +3343 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/unknown_field_set.cc +351 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/unknown_field_set.h +464 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc +107 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/delimited_message_util.h +85 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_comparator.cc +237 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_comparator.h +256 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_mask_util.cc +754 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_mask_util.h +242 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/internal_timeval.h +28 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/json_util.h +34 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/message_differencer.cc +2372 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/message_differencer.h +1002 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/package_info.h +23 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/python/field_mask_util_clif_aux.h +32 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/time_util.cc +563 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/time_util.h +297 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver.h +56 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver_util.cc +436 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver_util.h +45 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/varint_shuffle.h +165 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format.cc +1785 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format.h +374 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_lite.cc +901 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_lite.h +1720 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_unittest.h +1726 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wrappers.pb.cc +3203 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wrappers.pb.h +2317 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range.c +207 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range.h +23 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range_neon.inc +117 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range_sse.inc +272 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_validity.h +30 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/LICENSE +201 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_rules.h +116 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.cc +166 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.h +72 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/extra_func.cc +482 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/extra_func.h +31 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/field_rules.cc +388 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/field_rules.h +92 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.cc +69 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.h +58 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.cc +143 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.h +51 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/parser_common.h +256 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/uri.cc +469 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/uri.h +25 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_factory.cc +31 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_factory.h +43 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_rules.cc +114 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_rules.h +39 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/proto_field.h +155 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/rules.cc +437 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/rules.h +221 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/validation_rules.h +153 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/validator.cc +190 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/validator.h +156 -0
- data/ext/protovalidate/sys/third_party/re2/LICENSE +27 -0
- data/ext/protovalidate/sys/third_party/re2/re2/bitmap256.cc +43 -0
- data/ext/protovalidate/sys/third_party/re2/re2/bitmap256.h +88 -0
- data/ext/protovalidate/sys/third_party/re2/re2/bitstate.cc +389 -0
- data/ext/protovalidate/sys/third_party/re2/re2/compile.cc +1265 -0
- data/ext/protovalidate/sys/third_party/re2/re2/dfa.cc +2135 -0
- data/ext/protovalidate/sys/third_party/re2/re2/filtered_re2.cc +138 -0
- data/ext/protovalidate/sys/third_party/re2/re2/filtered_re2.h +115 -0
- data/ext/protovalidate/sys/third_party/re2/re2/mimics_pcre.cc +196 -0
- data/ext/protovalidate/sys/third_party/re2/re2/nfa.cc +714 -0
- data/ext/protovalidate/sys/third_party/re2/re2/onepass.cc +623 -0
- data/ext/protovalidate/sys/third_party/re2/re2/parse.cc +2529 -0
- data/ext/protovalidate/sys/third_party/re2/re2/perl_groups.cc +119 -0
- data/ext/protovalidate/sys/third_party/re2/re2/pod_array.h +55 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter.cc +711 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter.h +168 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter_tree.cc +376 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter_tree.h +153 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prog.cc +1181 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prog.h +493 -0
- data/ext/protovalidate/sys/third_party/re2/re2/re2.cc +1355 -0
- data/ext/protovalidate/sys/third_party/re2/re2/re2.h +1074 -0
- data/ext/protovalidate/sys/third_party/re2/re2/regexp.cc +1004 -0
- data/ext/protovalidate/sys/third_party/re2/re2/regexp.h +693 -0
- data/ext/protovalidate/sys/third_party/re2/re2/set.cc +185 -0
- data/ext/protovalidate/sys/third_party/re2/re2/set.h +91 -0
- data/ext/protovalidate/sys/third_party/re2/re2/simplify.cc +689 -0
- data/ext/protovalidate/sys/third_party/re2/re2/sparse_array.h +394 -0
- data/ext/protovalidate/sys/third_party/re2/re2/sparse_set.h +266 -0
- data/ext/protovalidate/sys/third_party/re2/re2/stringpiece.h +18 -0
- data/ext/protovalidate/sys/third_party/re2/re2/tostring.cc +351 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_casefold.cc +604 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_casefold.h +77 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_groups.cc +6517 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_groups.h +66 -0
- data/ext/protovalidate/sys/third_party/re2/re2/walker-inl.h +249 -0
- data/ext/protovalidate/sys/third_party/re2/util/malloc_counter.h +19 -0
- data/ext/protovalidate/sys/third_party/re2/util/pcre.h +671 -0
- data/ext/protovalidate/sys/third_party/re2/util/rune.cc +260 -0
- data/ext/protovalidate/sys/third_party/re2/util/strutil.cc +26 -0
- data/ext/protovalidate/sys/third_party/re2/util/strutil.h +16 -0
- data/ext/protovalidate/sys/third_party/re2/util/utf.h +44 -0
- data/ext/protovalidate/sys/versions.json +15 -0
- data/lib/buf/validate/validate_pb.rb +55 -0
- data/lib/protovalidate/errors.rb +32 -0
- data/lib/protovalidate/native.rb +30 -0
- data/lib/protovalidate/validator.rb +96 -0
- data/lib/protovalidate/version.rb +10 -0
- data/lib/protovalidate/violation.rb +115 -0
- data/lib/protovalidate.rb +48 -0
- data/sig/buf/validate/validate_pb.rbs +64 -0
- data/sig/protovalidate/native.rbs +14 -0
- data/sig/protovalidate.rbs +90 -0
- metadata +1900 -0
|
@@ -0,0 +1,1814 @@
|
|
|
1
|
+
// Protocol Buffers - Google's data interchange format
|
|
2
|
+
// Copyright 2008 Google Inc. 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
|
+
// Author: kenton@google.com (Kenton Varda)
|
|
9
|
+
// Based on original Protocol Buffers design by
|
|
10
|
+
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
11
|
+
//
|
|
12
|
+
// RepeatedField and RepeatedPtrField are used by generated protocol message
|
|
13
|
+
// classes to manipulate repeated fields. These classes are very similar to
|
|
14
|
+
// STL's vector, but include a number of optimizations found to be useful
|
|
15
|
+
// specifically in the case of Protocol Buffers. RepeatedPtrField is
|
|
16
|
+
// particularly different from STL vector as it manages ownership of the
|
|
17
|
+
// pointers that it contains.
|
|
18
|
+
//
|
|
19
|
+
// This header covers RepeatedField.
|
|
20
|
+
|
|
21
|
+
#ifndef GOOGLE_PROTOBUF_REPEATED_FIELD_H__
|
|
22
|
+
#define GOOGLE_PROTOBUF_REPEATED_FIELD_H__
|
|
23
|
+
|
|
24
|
+
#include <algorithm>
|
|
25
|
+
#include <cstddef>
|
|
26
|
+
#include <cstdint>
|
|
27
|
+
#include <cstdlib>
|
|
28
|
+
#include <cstring>
|
|
29
|
+
#include <functional>
|
|
30
|
+
#include <iterator>
|
|
31
|
+
#include <limits>
|
|
32
|
+
#include <memory>
|
|
33
|
+
#include <type_traits>
|
|
34
|
+
#include <utility>
|
|
35
|
+
|
|
36
|
+
#include "absl/base/attributes.h"
|
|
37
|
+
#include "absl/base/dynamic_annotations.h"
|
|
38
|
+
#include "absl/base/macros.h"
|
|
39
|
+
#include "absl/base/no_destructor.h"
|
|
40
|
+
#include "absl/base/optimization.h"
|
|
41
|
+
#include "absl/log/absl_check.h"
|
|
42
|
+
#include "absl/strings/cord.h"
|
|
43
|
+
#include "google/protobuf/arena.h"
|
|
44
|
+
#include "google/protobuf/arena_align.h"
|
|
45
|
+
#include "google/protobuf/field_with_arena.h"
|
|
46
|
+
#include "google/protobuf/generated_enum_util.h"
|
|
47
|
+
#include "google/protobuf/internal_metadata_locator.h"
|
|
48
|
+
#include "google/protobuf/internal_visibility.h"
|
|
49
|
+
#include "google/protobuf/message_lite.h"
|
|
50
|
+
#include "google/protobuf/port.h"
|
|
51
|
+
#include "google/protobuf/repeated_ptr_field.h"
|
|
52
|
+
#include "google/protobuf/serial_arena.h"
|
|
53
|
+
|
|
54
|
+
// Must be included last.
|
|
55
|
+
#include "google/protobuf/port_def.inc"
|
|
56
|
+
|
|
57
|
+
#ifdef SWIG
|
|
58
|
+
#error "You cannot SWIG proto headers"
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
namespace google {
|
|
63
|
+
namespace protobuf {
|
|
64
|
+
|
|
65
|
+
class Message;
|
|
66
|
+
class DynamicMessage;
|
|
67
|
+
class UnknownField; // For the allowlist
|
|
68
|
+
class UnknownFieldSet;
|
|
69
|
+
class DynamicMessage;
|
|
70
|
+
class Reflection;
|
|
71
|
+
template <typename ElementType>
|
|
72
|
+
class RepeatedFieldProxy;
|
|
73
|
+
|
|
74
|
+
namespace internal {
|
|
75
|
+
|
|
76
|
+
class EpsCopyInputStream;
|
|
77
|
+
class TcParser;
|
|
78
|
+
class WireFormat;
|
|
79
|
+
|
|
80
|
+
template <typename T, int kHeapRepHeaderSize>
|
|
81
|
+
constexpr int RepeatedFieldLowerClampLimit() {
|
|
82
|
+
// The header is padded to be at least `sizeof(T)` when it would be smaller
|
|
83
|
+
// otherwise.
|
|
84
|
+
static_assert(sizeof(T) <= kHeapRepHeaderSize, "");
|
|
85
|
+
// We want to pad the minimum size to be a power of two bytes, including the
|
|
86
|
+
// header.
|
|
87
|
+
// The first allocation is kHeapRepHeaderSize bytes worth of elements for a
|
|
88
|
+
// total of 2*kHeapRepHeaderSize bytes. For an 8-byte header, we allocate 8
|
|
89
|
+
// bool, 2 ints, or 1 int64.
|
|
90
|
+
return kHeapRepHeaderSize / sizeof(T);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// kRepeatedFieldUpperClampLimit is the lowest signed integer value that
|
|
94
|
+
// overflows when multiplied by 2 (which is undefined behavior). Sizes above
|
|
95
|
+
// this will clamp to the maximum int value instead of following exponential
|
|
96
|
+
// growth when growing a repeated field.
|
|
97
|
+
#if defined(__cpp_inline_variables)
|
|
98
|
+
inline constexpr int kRepeatedFieldUpperClampLimit =
|
|
99
|
+
#else
|
|
100
|
+
constexpr int kRepeatedFieldUpperClampLimit =
|
|
101
|
+
#endif
|
|
102
|
+
(std::numeric_limits<int>::max() / 2) + 1;
|
|
103
|
+
|
|
104
|
+
template <typename Element>
|
|
105
|
+
class RepeatedIterator;
|
|
106
|
+
|
|
107
|
+
// Sentinel base class.
|
|
108
|
+
struct RepeatedFieldBase {};
|
|
109
|
+
|
|
110
|
+
// Decays `Element` to a value type (excluding `absl::Cord` in release builds
|
|
111
|
+
// to avoid a nontrivial copy). This is useful when forwarding element values
|
|
112
|
+
// to user-provided callbacks, which prevents leaking a reference to the
|
|
113
|
+
// backing storage of the repeated field.
|
|
114
|
+
template <typename Element>
|
|
115
|
+
using DecayedRepeatedFieldElement =
|
|
116
|
+
std::conditional_t<std::is_same_v<Element, absl::Cord> &&
|
|
117
|
+
!internal::PerformDebugChecks(),
|
|
118
|
+
const Element&, Element>;
|
|
119
|
+
|
|
120
|
+
// Align to 8 as sanitizers are picky on the alignment of containers to start at
|
|
121
|
+
// 8 byte offsets even when compiling for 32 bit platforms.
|
|
122
|
+
template <size_t kMinSize>
|
|
123
|
+
class alignas(8) HeapRep {
|
|
124
|
+
public:
|
|
125
|
+
explicit HeapRep(uint32_t capacity) : capacity_(capacity), unused_(0) {}
|
|
126
|
+
// Avoid 'implicitly deleted dtor' warnings on certain compilers.
|
|
127
|
+
~HeapRep() = delete;
|
|
128
|
+
|
|
129
|
+
uint32_t capacity() const { return capacity_; }
|
|
130
|
+
|
|
131
|
+
const void* elements() const { return elements_; }
|
|
132
|
+
void* elements() { return elements_; }
|
|
133
|
+
|
|
134
|
+
// Returns the size of the HeapRep in bytes. Do not use `sizeof(HeapRep)`,
|
|
135
|
+
// since that includes the dummy `elements_` member.
|
|
136
|
+
static constexpr size_t SizeOf() { return offsetof(HeapRep, elements_); }
|
|
137
|
+
|
|
138
|
+
private:
|
|
139
|
+
union {
|
|
140
|
+
struct {
|
|
141
|
+
uint32_t capacity_;
|
|
142
|
+
[[maybe_unused]] const uint32_t unused_;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
// We pad the header to be at least `sizeof(Element)` so that we have
|
|
146
|
+
// power-of-two sized allocations, which enables Arena optimizations.
|
|
147
|
+
char padding_[kMinSize];
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// This is the start of the elements storage. We would use a flexible array
|
|
151
|
+
// member here, but that's not available in all compilers. We will not
|
|
152
|
+
// initialize this member, and `kHeapRepHeaderSize` ignores this field.
|
|
153
|
+
uint8_t elements_[1];
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// We use small object optimization (SOO) to store elements inline when possible
|
|
157
|
+
// for small repeated fields. We do so in order to avoid memory indirections.
|
|
158
|
+
// Note that SOO is disabled on 32-bit platforms due to alignment limitations.
|
|
159
|
+
|
|
160
|
+
// SOO data is stored in the same space as the size/capacity ints.
|
|
161
|
+
enum { kSooCapacityBytes = 2 * sizeof(int) };
|
|
162
|
+
|
|
163
|
+
inline constexpr uint32_t kNotSooBit = 0x1;
|
|
164
|
+
// The number of bits at the start of the `InternalMetadataResolver` offset to
|
|
165
|
+
// use for other purposes. Note that this must be <= log2(alignof(void*)).
|
|
166
|
+
inline constexpr uint32_t kResolverTaggedBits = 1;
|
|
167
|
+
inline constexpr size_t kSooSizeMask = sizeof(void*);
|
|
168
|
+
|
|
169
|
+
// The number of elements that can be stored in the SOO rep. On 64-bit
|
|
170
|
+
// platforms, this is 1 for int64_t, 2 for int32_t, 3 for bool, and 0 for
|
|
171
|
+
// absl::Cord. We return 0 to disable SOO on 32-bit platforms.
|
|
172
|
+
template <typename T>
|
|
173
|
+
constexpr int SooCapacityElements() {
|
|
174
|
+
// RepeatedPtrField always has SOO capacity of 1.
|
|
175
|
+
if constexpr (std::is_pointer_v<T>) {
|
|
176
|
+
return 1;
|
|
177
|
+
}
|
|
178
|
+
// Disable SOO for RepeatedFields on 32-bit platforms.
|
|
179
|
+
if constexpr (sizeof(void*) < 8) return 0;
|
|
180
|
+
return std::min<int>(kSooCapacityBytes / sizeof(T), kSooSizeMask);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
template <size_t kMinSize>
|
|
184
|
+
class SooRep {
|
|
185
|
+
public:
|
|
186
|
+
constexpr SooRep() = default;
|
|
187
|
+
explicit constexpr SooRep(InternalMetadataOffset offset)
|
|
188
|
+
: resolver_(offset) {}
|
|
189
|
+
|
|
190
|
+
bool is_soo() const { return (resolver_.Tag() & kNotSooBit) == 0; }
|
|
191
|
+
Arena* arena() const {
|
|
192
|
+
return ResolveTaggedArena<&SooRep::resolver_, kResolverTaggedBits>(this);
|
|
193
|
+
}
|
|
194
|
+
int size() const { return size_; }
|
|
195
|
+
void set_size(int size) {
|
|
196
|
+
ABSL_DCHECK(!is_soo() || size <= kSooCapacityBytes);
|
|
197
|
+
size_ = size;
|
|
198
|
+
}
|
|
199
|
+
int capacity() const {
|
|
200
|
+
ABSL_DCHECK(!this->is_soo());
|
|
201
|
+
return heap_rep_->capacity();
|
|
202
|
+
}
|
|
203
|
+
// Initializes the SooRep in non-SOO mode with the given heap allocation.
|
|
204
|
+
void set_non_soo(HeapRep<kMinSize>* heap_rep) {
|
|
205
|
+
resolver_.SetTag(kNotSooBit);
|
|
206
|
+
heap_rep_ = heap_rep;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
HeapRep<kMinSize>* heap_rep() const {
|
|
210
|
+
ABSL_DCHECK(!is_soo());
|
|
211
|
+
return heap_rep_;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
const void* elements(bool is_soo) const {
|
|
215
|
+
ABSL_DCHECK_EQ(is_soo, this->is_soo());
|
|
216
|
+
if (is_soo) {
|
|
217
|
+
return soo_data_;
|
|
218
|
+
} else {
|
|
219
|
+
return heap_rep_->elements();
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
void* elements(bool is_soo) {
|
|
224
|
+
ABSL_DCHECK_EQ(is_soo, this->is_soo());
|
|
225
|
+
if (is_soo) {
|
|
226
|
+
return soo_data_;
|
|
227
|
+
} else {
|
|
228
|
+
return heap_rep_->elements();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
void swap(SooRep& other) {
|
|
233
|
+
resolver_.SwapTags(other.resolver_);
|
|
234
|
+
internal::memswap<sizeof(SooRep) - offsetof(SooRep, size_)>(
|
|
235
|
+
reinterpret_cast<char*>(&this->size_),
|
|
236
|
+
reinterpret_cast<char*>(&other.size_));
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
private:
|
|
240
|
+
TaggedInternalMetadataResolver<kResolverTaggedBits> resolver_;
|
|
241
|
+
uint32_t size_ = 0;
|
|
242
|
+
union {
|
|
243
|
+
char soo_data_[kSooCapacityBytes];
|
|
244
|
+
HeapRep<kMinSize>* heap_rep_;
|
|
245
|
+
|
|
246
|
+
// NOTE: in some language versions, we can't have a constexpr constructor
|
|
247
|
+
// if we don't initialize all fields, but we don't need to initialize this
|
|
248
|
+
// field, so initialize an empty dummy variable instead.
|
|
249
|
+
std::true_type dummy_ = {};
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
} // namespace internal
|
|
254
|
+
|
|
255
|
+
// RepeatedField is used to represent repeated fields of a primitive type (in
|
|
256
|
+
// other words, everything except strings and nested Messages). Most users will
|
|
257
|
+
// not ever use a RepeatedField directly; they will use the get-by-index,
|
|
258
|
+
// set-by-index, and add accessors that are generated for all repeated fields.
|
|
259
|
+
// Actually, in addition to primitive types, we use RepeatedField for repeated
|
|
260
|
+
// Cords, because the Cord class is in fact just a reference-counted pointer.
|
|
261
|
+
// We have to specialize several methods in the Cord case to get the memory
|
|
262
|
+
// management right; e.g. swapping when appropriate, etc.
|
|
263
|
+
template <typename Element>
|
|
264
|
+
class ABSL_ATTRIBUTE_WARN_UNUSED PROTOBUF_DECLSPEC_EMPTY_BASES
|
|
265
|
+
RepeatedField final
|
|
266
|
+
: private internal::RepeatedFieldBase,
|
|
267
|
+
private internal::ContainerDestructorSkippableBase<Element> {
|
|
268
|
+
static_assert(
|
|
269
|
+
alignof(Arena) >= alignof(Element),
|
|
270
|
+
"We only support types that have an alignment smaller than Arena");
|
|
271
|
+
static_assert(!std::is_const<Element>::value,
|
|
272
|
+
"We do not support const value types.");
|
|
273
|
+
static_assert(!std::is_volatile<Element>::value,
|
|
274
|
+
"We do not support volatile value types.");
|
|
275
|
+
static_assert(!std::is_pointer<Element>::value,
|
|
276
|
+
"We do not support pointer value types.");
|
|
277
|
+
static_assert(!std::is_reference<Element>::value,
|
|
278
|
+
"We do not support reference value types.");
|
|
279
|
+
static constexpr PROTOBUF_ALWAYS_INLINE void StaticValidityCheck() {
|
|
280
|
+
static_assert(
|
|
281
|
+
std::disjunction<internal::is_supported_integral_type<Element>,
|
|
282
|
+
internal::is_supported_floating_point_type<Element>,
|
|
283
|
+
std::is_same<absl::Cord, Element>,
|
|
284
|
+
std::is_same<UnknownField, Element>,
|
|
285
|
+
is_proto_enum<Element>>::value,
|
|
286
|
+
"We only support non-string scalars in RepeatedField.");
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
public:
|
|
290
|
+
using value_type = Element;
|
|
291
|
+
using size_type = int;
|
|
292
|
+
using difference_type = ptrdiff_t;
|
|
293
|
+
using reference = Element&;
|
|
294
|
+
using const_reference = const Element&;
|
|
295
|
+
using pointer = Element*;
|
|
296
|
+
using const_pointer = const Element*;
|
|
297
|
+
using iterator = internal::RepeatedIterator<Element>;
|
|
298
|
+
using const_iterator = internal::RepeatedIterator<const Element>;
|
|
299
|
+
using reverse_iterator = std::reverse_iterator<iterator>;
|
|
300
|
+
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
|
301
|
+
|
|
302
|
+
constexpr RepeatedField();
|
|
303
|
+
RepeatedField(const RepeatedField& rhs)
|
|
304
|
+
: RepeatedField(internal::InternalMetadataOffset(), rhs) {}
|
|
305
|
+
|
|
306
|
+
template <typename Iter,
|
|
307
|
+
typename = typename std::enable_if<std::is_constructible<
|
|
308
|
+
Element, decltype(*std::declval<Iter>())>::value>::type>
|
|
309
|
+
RepeatedField(Iter begin, Iter end);
|
|
310
|
+
|
|
311
|
+
// Arena enabled constructors: for internal use only.
|
|
312
|
+
constexpr RepeatedField(internal::InternalVisibility,
|
|
313
|
+
internal::InternalMetadataOffset offset)
|
|
314
|
+
: RepeatedField(offset) {}
|
|
315
|
+
RepeatedField(internal::InternalVisibility,
|
|
316
|
+
internal::InternalMetadataOffset offset,
|
|
317
|
+
const RepeatedField& rhs)
|
|
318
|
+
: RepeatedField(offset, rhs) {}
|
|
319
|
+
|
|
320
|
+
RepeatedField& operator=(const RepeatedField& other)
|
|
321
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
322
|
+
|
|
323
|
+
RepeatedField(RepeatedField&& rhs) noexcept
|
|
324
|
+
: RepeatedField(internal::InternalMetadataOffset(), std::move(rhs)) {}
|
|
325
|
+
RepeatedField& operator=(RepeatedField&& other) noexcept
|
|
326
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
327
|
+
|
|
328
|
+
~RepeatedField();
|
|
329
|
+
|
|
330
|
+
PROTOBUF_FUTURE_ADD_NODISCARD bool empty() const;
|
|
331
|
+
PROTOBUF_FUTURE_ADD_NODISCARD int size() const;
|
|
332
|
+
|
|
333
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_reference
|
|
334
|
+
Get(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
335
|
+
PROTOBUF_FUTURE_ADD_NODISCARD pointer Mutable(int index)
|
|
336
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
337
|
+
|
|
338
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_reference
|
|
339
|
+
operator[](int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
340
|
+
return Get(index);
|
|
341
|
+
}
|
|
342
|
+
PROTOBUF_FUTURE_ADD_NODISCARD reference operator[](int index)
|
|
343
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
344
|
+
return *Mutable(index);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_reference
|
|
348
|
+
at(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
349
|
+
PROTOBUF_FUTURE_ADD_NODISCARD reference at(int index)
|
|
350
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
351
|
+
|
|
352
|
+
void Set(int index, const Element& value);
|
|
353
|
+
void Add(Element value);
|
|
354
|
+
|
|
355
|
+
// Appends a new element and returns a pointer to it.
|
|
356
|
+
// The new element is uninitialized if |Element| is a POD type.
|
|
357
|
+
pointer Add() ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
358
|
+
// Appends elements in the range [begin, end) after reserving
|
|
359
|
+
// the appropriate number of elements.
|
|
360
|
+
template <typename Iter>
|
|
361
|
+
void Add(Iter begin, Iter end);
|
|
362
|
+
|
|
363
|
+
// The following APIs are for internal use only.
|
|
364
|
+
template <typename ArenaProvider>
|
|
365
|
+
void InternalAddWithArena(internal::InternalVisibility,
|
|
366
|
+
ArenaProvider arena_provider, Element value);
|
|
367
|
+
template <typename ArenaProvider>
|
|
368
|
+
pointer InternalAddWithArena(internal::InternalVisibility,
|
|
369
|
+
ArenaProvider arena_provider)
|
|
370
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
371
|
+
|
|
372
|
+
// Removes the last element in the array.
|
|
373
|
+
void RemoveLast();
|
|
374
|
+
|
|
375
|
+
// Extracts elements with indices in "[start .. start+num-1]".
|
|
376
|
+
// Copies them into "elements[0 .. num-1]" if "elements" is not nullptr.
|
|
377
|
+
// Caution: also moves elements with indices [start+num ..].
|
|
378
|
+
// Calling this routine inside a loop can cause quadratic behavior.
|
|
379
|
+
void ExtractSubrange(int start, int num, Element* elements);
|
|
380
|
+
|
|
381
|
+
ABSL_ATTRIBUTE_REINITIALIZES void Clear();
|
|
382
|
+
|
|
383
|
+
// Appends the elements from `other` after this instance.
|
|
384
|
+
// The end result length will be `other.size() + this->size()`.
|
|
385
|
+
void MergeFrom(const RepeatedField& other);
|
|
386
|
+
|
|
387
|
+
// Replaces the contents with a copy of the elements from `other`.
|
|
388
|
+
ABSL_ATTRIBUTE_REINITIALIZES void CopyFrom(const RepeatedField& other);
|
|
389
|
+
|
|
390
|
+
// Replaces the contents with RepeatedField(begin, end).
|
|
391
|
+
template <typename Iter>
|
|
392
|
+
ABSL_ATTRIBUTE_REINITIALIZES void Assign(Iter begin, Iter end);
|
|
393
|
+
|
|
394
|
+
// Reserves space to expand the field to at least the given size. If the
|
|
395
|
+
// array is grown, it will always be at least doubled in size.
|
|
396
|
+
void Reserve(int new_size);
|
|
397
|
+
|
|
398
|
+
// Resizes the RepeatedField to a new, smaller size. This is O(1).
|
|
399
|
+
// Except for RepeatedField<Cord>, for which it is O(size-new_size).
|
|
400
|
+
void Truncate(int new_size);
|
|
401
|
+
|
|
402
|
+
void AddAlreadyReserved(Element value);
|
|
403
|
+
PROTOBUF_FUTURE_ADD_NODISCARD int Capacity() const;
|
|
404
|
+
|
|
405
|
+
// Adds `n` elements to this instance asserting there is enough capacity.
|
|
406
|
+
// The added elements are uninitialized if `Element` is trivial.
|
|
407
|
+
pointer AddAlreadyReserved() ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
408
|
+
pointer AddNAlreadyReserved(int n) ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
409
|
+
|
|
410
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
411
|
+
void Resize(size_type new_size, const Element& value);
|
|
412
|
+
|
|
413
|
+
// Like STL resize. Uses value to fill appended elements.
|
|
414
|
+
// Like Truncate() if new_size <= size(), otherwise this is
|
|
415
|
+
// O(new_size - size()).
|
|
416
|
+
void resize(size_type new_size);
|
|
417
|
+
void resize(size_type new_size, const Element& value);
|
|
418
|
+
|
|
419
|
+
// Gets the underlying array. This pointer is possibly invalidated by
|
|
420
|
+
// any add or remove operation.
|
|
421
|
+
PROTOBUF_FUTURE_ADD_NODISCARD pointer mutable_data()
|
|
422
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
423
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_pointer
|
|
424
|
+
data() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
425
|
+
|
|
426
|
+
// Swaps entire contents with "other". If they are separate arenas, then
|
|
427
|
+
// copies data between each other.
|
|
428
|
+
void Swap(RepeatedField* other);
|
|
429
|
+
|
|
430
|
+
// Swaps two elements.
|
|
431
|
+
void SwapElements(int index1, int index2);
|
|
432
|
+
|
|
433
|
+
PROTOBUF_FUTURE_ADD_NODISCARD iterator begin() ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
434
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_iterator
|
|
435
|
+
begin() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
436
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_iterator
|
|
437
|
+
cbegin() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
438
|
+
PROTOBUF_FUTURE_ADD_NODISCARD iterator end() ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
439
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_iterator
|
|
440
|
+
end() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
441
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_iterator
|
|
442
|
+
cend() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
443
|
+
|
|
444
|
+
// Reverse iterator support
|
|
445
|
+
PROTOBUF_FUTURE_ADD_NODISCARD reverse_iterator rbegin()
|
|
446
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
447
|
+
return reverse_iterator(end());
|
|
448
|
+
}
|
|
449
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_reverse_iterator
|
|
450
|
+
rbegin() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
451
|
+
return const_reverse_iterator(end());
|
|
452
|
+
}
|
|
453
|
+
PROTOBUF_FUTURE_ADD_NODISCARD reverse_iterator rend()
|
|
454
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
455
|
+
return reverse_iterator(begin());
|
|
456
|
+
}
|
|
457
|
+
PROTOBUF_FUTURE_ADD_NODISCARD const_reverse_iterator
|
|
458
|
+
rend() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
459
|
+
return const_reverse_iterator(begin());
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
// Returns the number of bytes used by the repeated field, excluding
|
|
463
|
+
// sizeof(*this)
|
|
464
|
+
PROTOBUF_FUTURE_ADD_NODISCARD size_t SpaceUsedExcludingSelfLong() const;
|
|
465
|
+
|
|
466
|
+
PROTOBUF_FUTURE_ADD_NODISCARD int SpaceUsedExcludingSelf() const {
|
|
467
|
+
return internal::ToIntSize(SpaceUsedExcludingSelfLong());
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
// Removes the element referenced by position.
|
|
471
|
+
//
|
|
472
|
+
// Returns an iterator to the element immediately following the removed
|
|
473
|
+
// element.
|
|
474
|
+
//
|
|
475
|
+
// Invalidates all iterators at or after the removed element, including end().
|
|
476
|
+
iterator erase(const_iterator position) ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
477
|
+
|
|
478
|
+
// Removes the elements in the range [first, last).
|
|
479
|
+
//
|
|
480
|
+
// Returns an iterator to the element immediately following the removed range.
|
|
481
|
+
//
|
|
482
|
+
// Invalidates all iterators at or after the removed range, including end().
|
|
483
|
+
iterator erase(const_iterator first,
|
|
484
|
+
const_iterator last) ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
485
|
+
|
|
486
|
+
// Gets the Arena on which this RepeatedField stores its elements.
|
|
487
|
+
PROTOBUF_FUTURE_ADD_NODISCARD inline Arena* GetArena() {
|
|
488
|
+
// Note: we make this function non-const to force callers to call the
|
|
489
|
+
// `mutable_*` accessor on the repeated field before calling `GetArena()`,
|
|
490
|
+
// which initializes the field if it is split. If this method were const,
|
|
491
|
+
// then `msg.repeated_field().GetArena()` would be valid, but for split
|
|
492
|
+
// repeated fields `repeated_field()` could point to the default split
|
|
493
|
+
// instance. This would always return `nullptr`, which is incorrect when
|
|
494
|
+
// using arenas.
|
|
495
|
+
return soo_rep_.arena();
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
// For internal use only.
|
|
499
|
+
//
|
|
500
|
+
// This is public due to it being called by generated code.
|
|
501
|
+
inline void InternalSwap(RepeatedField* other);
|
|
502
|
+
|
|
503
|
+
private:
|
|
504
|
+
using InternalArenaConstructable_ = void;
|
|
505
|
+
// We use std::max in order to share template instantiations between
|
|
506
|
+
// different element types.
|
|
507
|
+
static constexpr size_t kMinHeapRepSize =
|
|
508
|
+
std::max<size_t>(sizeof(Element), 8);
|
|
509
|
+
using HeapRep = internal::HeapRep<kMinHeapRepSize>;
|
|
510
|
+
|
|
511
|
+
template <typename T>
|
|
512
|
+
friend class Arena::InternalHelper;
|
|
513
|
+
|
|
514
|
+
friend class Arena;
|
|
515
|
+
|
|
516
|
+
friend class DynamicMessage;
|
|
517
|
+
|
|
518
|
+
friend class internal::FieldWithArena<RepeatedField<Element>>;
|
|
519
|
+
|
|
520
|
+
// For access to private `*WithArena` functions.
|
|
521
|
+
friend class google::protobuf::Reflection;
|
|
522
|
+
friend class internal::EpsCopyInputStream;
|
|
523
|
+
friend class internal::TcParser;
|
|
524
|
+
friend class internal::WireFormat;
|
|
525
|
+
|
|
526
|
+
friend class RepeatedFieldProxy<Element>;
|
|
527
|
+
|
|
528
|
+
// For access to private arena constructor.
|
|
529
|
+
friend class UnknownFieldSet;
|
|
530
|
+
|
|
531
|
+
static constexpr int kSooCapacityElements =
|
|
532
|
+
internal::SooCapacityElements<Element>();
|
|
533
|
+
|
|
534
|
+
static constexpr int kInitialSize = 0;
|
|
535
|
+
static constexpr const size_t kHeapRepHeaderSize = HeapRep::SizeOf();
|
|
536
|
+
|
|
537
|
+
explicit constexpr RepeatedField(internal::InternalMetadataOffset offset);
|
|
538
|
+
RepeatedField(internal::InternalMetadataOffset offset,
|
|
539
|
+
const RepeatedField& rhs);
|
|
540
|
+
RepeatedField(internal::InternalMetadataOffset offset, RepeatedField&& rhs);
|
|
541
|
+
|
|
542
|
+
template <typename Init>
|
|
543
|
+
void ResizeImpl(int new_size, Init init);
|
|
544
|
+
|
|
545
|
+
internal::SerialArena* GetSerialArena() { return ResolveArena(GetArena()); }
|
|
546
|
+
|
|
547
|
+
template <typename T>
|
|
548
|
+
auto ResolveArena(T provider) {
|
|
549
|
+
return internal::GetSerialArena(provider);
|
|
550
|
+
}
|
|
551
|
+
// Passing `SelfArena{}` is equivalent to `this`, but it avoids an extra
|
|
552
|
+
// parameter in the ABI. We don't need to duplicate the `this` parameter.
|
|
553
|
+
struct SelfArena {};
|
|
554
|
+
auto ResolveArena(SelfArena) { return GetSerialArena(); }
|
|
555
|
+
|
|
556
|
+
bool is_soo() const { return soo_rep_.is_soo(); }
|
|
557
|
+
void set_size(int size) {
|
|
558
|
+
ABSL_DCHECK_LE(size, Capacity());
|
|
559
|
+
soo_rep_.set_size(size);
|
|
560
|
+
}
|
|
561
|
+
int Capacity(bool is_soo) const {
|
|
562
|
+
return is_soo ? kSooCapacityElements : soo_rep_.capacity();
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
template <typename ArenaProvider>
|
|
566
|
+
void ReserveWithArena(ArenaProvider arena_provider, int new_size);
|
|
567
|
+
void GrowByWithArena(Arena* arena, int grow_by) {
|
|
568
|
+
ReserveWithArena(arena, size() + grow_by);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
template <typename ArenaProvider>
|
|
572
|
+
void* AddUninitializedWithArena(ArenaProvider arena_provider);
|
|
573
|
+
|
|
574
|
+
template <typename ArenaProvider>
|
|
575
|
+
pointer AddWithArena(ArenaProvider arena_provider, Element value);
|
|
576
|
+
template <typename ArenaProvider>
|
|
577
|
+
pointer AddWithArena(ArenaProvider arena_provider)
|
|
578
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
579
|
+
template <typename ArenaProvider, typename Iter>
|
|
580
|
+
void AddWithArena(ArenaProvider arena_provider, Iter begin, Iter end);
|
|
581
|
+
|
|
582
|
+
// Private-only API for in-place construction of elements in the repeated
|
|
583
|
+
// field.
|
|
584
|
+
template <typename... Args>
|
|
585
|
+
pointer EmplaceWithArena(Arena* arena, Args&&... args);
|
|
586
|
+
|
|
587
|
+
void SwapFallbackWithTemp(Arena* arena, RepeatedField& other,
|
|
588
|
+
Arena* other_arena, RepeatedField<Element>& temp);
|
|
589
|
+
|
|
590
|
+
// Swaps entire contents with "other". Should be called only if the caller can
|
|
591
|
+
// guarantee that both repeated fields are on the same arena or are on the
|
|
592
|
+
// heap. Swapping between different arenas is disallowed and caught by a
|
|
593
|
+
// ABSL_DCHECK (see API docs for details).
|
|
594
|
+
void UnsafeArenaSwap(RepeatedField* other);
|
|
595
|
+
|
|
596
|
+
// Copy constructs `n` instances in place into the array `dst`.
|
|
597
|
+
// This function is identical to `std::uninitialized_copy_n(src, n, dst)`
|
|
598
|
+
// except that we explicit declare the memory to not be aliased, which will
|
|
599
|
+
// result in `memcpy` code generation instead of `memmove` for trivial types.
|
|
600
|
+
static inline void UninitializedCopyN(const Element* PROTOBUF_RESTRICT src,
|
|
601
|
+
int n, Element* PROTOBUF_RESTRICT dst) {
|
|
602
|
+
std::uninitialized_copy_n(src, n, dst);
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
// Copy constructs `[begin, end)` instances in place into the array `dst`.
|
|
606
|
+
// See above `UninitializedCopyN()` function comments for more information.
|
|
607
|
+
template <typename Iter>
|
|
608
|
+
static inline void UninitializedCopy(Iter begin, Iter end,
|
|
609
|
+
Element* PROTOBUF_RESTRICT dst) {
|
|
610
|
+
std::uninitialized_copy(begin, end, dst);
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
// Destroys all elements in [begin, end).
|
|
614
|
+
// This function does nothing if `Element` is trivial.
|
|
615
|
+
static void Destroy([[maybe_unused]] const Element* begin,
|
|
616
|
+
[[maybe_unused]] const Element* end) {
|
|
617
|
+
if constexpr (!std::is_trivially_destructible<Element>::value) {
|
|
618
|
+
std::for_each(begin, end, [&](const Element& e) { e.~Element(); });
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
template <typename ArenaProvider, typename Iter>
|
|
623
|
+
void AddForwardIterator(ArenaProvider arena_provider, Iter begin, Iter end);
|
|
624
|
+
|
|
625
|
+
template <typename ArenaProvider, typename Iter>
|
|
626
|
+
void AddInputIterator(ArenaProvider arena_provider, Iter begin, Iter end);
|
|
627
|
+
|
|
628
|
+
// Reserves space to expand the field to at least the given size.
|
|
629
|
+
// If the array is grown, it will always be at least doubled in size.
|
|
630
|
+
// If `annotate_size` is true (the default), then this function will annotate
|
|
631
|
+
// the old container from `old_size` to `Capacity()` (unpoison memory)
|
|
632
|
+
// directly before it is being released, and annotate the new container from
|
|
633
|
+
// `Capacity()` to `old_size` (poison unused memory).
|
|
634
|
+
template <typename ArenaProvider>
|
|
635
|
+
void Grow(ArenaProvider arena_provider, bool was_soo, int old_size,
|
|
636
|
+
int new_size);
|
|
637
|
+
template <typename ArenaProvider>
|
|
638
|
+
void GrowNoAnnotate(ArenaProvider arena_provider, bool was_soo, int old_size,
|
|
639
|
+
int new_size);
|
|
640
|
+
|
|
641
|
+
// Annotates a change in size of this instance. This function should be called
|
|
642
|
+
// with (capacity, old_size) after new memory has been allocated and filled
|
|
643
|
+
// from previous memory.
|
|
644
|
+
void AnnotateSize(int old_size, int new_size) const {
|
|
645
|
+
if (old_size != new_size) {
|
|
646
|
+
[[maybe_unused]] const bool is_soo = this->is_soo();
|
|
647
|
+
[[maybe_unused]] const Element* elem =
|
|
648
|
+
reinterpret_cast<const Element*>(soo_rep_.elements(is_soo));
|
|
649
|
+
ABSL_ANNOTATE_CONTIGUOUS_CONTAINER(elem, elem + Capacity(is_soo),
|
|
650
|
+
elem + old_size, elem + new_size);
|
|
651
|
+
if (new_size < old_size) {
|
|
652
|
+
ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(
|
|
653
|
+
elem + new_size, (old_size - new_size) * sizeof(Element));
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
// This should be called right before (previously annotated) memory is
|
|
659
|
+
// released.
|
|
660
|
+
void AnnotateForRelease() const { AnnotateSize(size(), Capacity()); }
|
|
661
|
+
|
|
662
|
+
// Replaces size with new_size and returns the previous value of
|
|
663
|
+
// size. This function is intended to be the only place where
|
|
664
|
+
// size is modified, with the exception of `AddInputIterator()`
|
|
665
|
+
// where the size of added items is not known in advance.
|
|
666
|
+
inline int ExchangeCurrentSize(int new_size) {
|
|
667
|
+
const int prev_size = size();
|
|
668
|
+
AnnotateSize(prev_size, new_size);
|
|
669
|
+
set_size(new_size);
|
|
670
|
+
return prev_size;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
// Returns a pointer to elements array.
|
|
674
|
+
// pre-condition: Capacity() > 0.
|
|
675
|
+
Element* elements(bool is_soo) {
|
|
676
|
+
ABSL_DCHECK_GT(Capacity(is_soo), 0);
|
|
677
|
+
return unsafe_elements(is_soo);
|
|
678
|
+
}
|
|
679
|
+
const Element* elements(bool is_soo) const {
|
|
680
|
+
return const_cast<RepeatedField*>(this)->elements(is_soo);
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
// Returns a pointer to elements array if it exists; otherwise an invalid
|
|
684
|
+
// pointer is returned. This only happens for empty repeated fields, where you
|
|
685
|
+
// can't dereference this pointer anyway (it's empty).
|
|
686
|
+
Element* unsafe_elements(bool is_soo) {
|
|
687
|
+
return reinterpret_cast<Element*>(soo_rep_.elements(is_soo));
|
|
688
|
+
}
|
|
689
|
+
const Element* unsafe_elements(bool is_soo) const {
|
|
690
|
+
return const_cast<RepeatedField*>(this)->unsafe_elements(is_soo);
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
// Returns a pointer to the HeapRep struct.
|
|
694
|
+
// pre-condition: the HeapRep must have been allocated, ie !is_soo().
|
|
695
|
+
HeapRep* heap_rep() const {
|
|
696
|
+
ABSL_DCHECK(!is_soo());
|
|
697
|
+
return soo_rep_.heap_rep();
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
// Internal helper to delete all elements and deallocate the storage.
|
|
701
|
+
template <bool in_destructor = false, typename ArenaProvider>
|
|
702
|
+
void InternalDeallocate(ArenaProvider arena_provider) {
|
|
703
|
+
ABSL_DCHECK(!is_soo());
|
|
704
|
+
ABSL_DCHECK_EQ(ResolveArena(arena_provider), GetSerialArena());
|
|
705
|
+
const size_t bytes = Capacity(false) * sizeof(Element) + kHeapRepHeaderSize;
|
|
706
|
+
if constexpr (in_destructor &&
|
|
707
|
+
Arena::is_destructor_skippable<RepeatedField>::value) {
|
|
708
|
+
// Repeated fields with destructor-skippable elements are never destroyed
|
|
709
|
+
// during arena cleanup.
|
|
710
|
+
ABSL_DCHECK_EQ(GetArena(), nullptr);
|
|
711
|
+
internal::SizedDelete(heap_rep(), bytes);
|
|
712
|
+
} else {
|
|
713
|
+
auto* arena = ResolveArena(arena_provider);
|
|
714
|
+
if (arena == nullptr) {
|
|
715
|
+
internal::SizedDelete(heap_rep(), bytes);
|
|
716
|
+
} else if (!in_destructor) {
|
|
717
|
+
// If we are in the destructor, we might be being destroyed as part of
|
|
718
|
+
// the arena teardown. We can't try and return blocks to the arena then.
|
|
719
|
+
arena->ReturnArrayMemory(heap_rep(), bytes);
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
// A note on the representation here (see also comment below for
|
|
725
|
+
// RepeatedPtrFieldBase's struct HeapRep):
|
|
726
|
+
//
|
|
727
|
+
// We maintain the same sizeof(RepeatedField) as before we added arena support
|
|
728
|
+
// so that we do not degrade performance by bloating memory usage. Directly
|
|
729
|
+
// adding an arena_ element to RepeatedField is quite costly. By using
|
|
730
|
+
// indirection in this way, we keep the same size when the RepeatedField is
|
|
731
|
+
// empty (common case), and add only an 8-byte header to the elements array
|
|
732
|
+
// when non-empty. We make sure to place the size fields directly in the
|
|
733
|
+
// RepeatedField class to avoid costly cache misses due to the indirection.
|
|
734
|
+
internal::SooRep<kMinHeapRepSize> soo_rep_;
|
|
735
|
+
};
|
|
736
|
+
|
|
737
|
+
namespace internal {
|
|
738
|
+
|
|
739
|
+
template <typename Element>
|
|
740
|
+
using RepeatedFieldWithArena = internal::FieldWithArena<RepeatedField<Element>>;
|
|
741
|
+
|
|
742
|
+
template <typename Element>
|
|
743
|
+
struct FieldArenaRep<RepeatedField<Element>> {
|
|
744
|
+
using Type = RepeatedFieldWithArena<Element>;
|
|
745
|
+
|
|
746
|
+
static RepeatedField<Element>* Get(Type* arena_rep) {
|
|
747
|
+
return &arena_rep->field();
|
|
748
|
+
}
|
|
749
|
+
};
|
|
750
|
+
|
|
751
|
+
template <typename Element>
|
|
752
|
+
struct FieldArenaRep<const RepeatedField<Element>> {
|
|
753
|
+
using Type = const RepeatedFieldWithArena<Element>;
|
|
754
|
+
|
|
755
|
+
static const RepeatedField<Element>* Get(Type* arena_rep) {
|
|
756
|
+
return &arena_rep->field();
|
|
757
|
+
}
|
|
758
|
+
};
|
|
759
|
+
|
|
760
|
+
} // namespace internal
|
|
761
|
+
|
|
762
|
+
// implementation ====================================================
|
|
763
|
+
|
|
764
|
+
template <typename Element>
|
|
765
|
+
constexpr RepeatedField<Element>::RepeatedField() {
|
|
766
|
+
StaticValidityCheck();
|
|
767
|
+
#ifdef __cpp_lib_is_constant_evaluated
|
|
768
|
+
if (!std::is_constant_evaluated()) {
|
|
769
|
+
AnnotateSize(kSooCapacityElements, 0);
|
|
770
|
+
}
|
|
771
|
+
#endif // __cpp_lib_is_constant_evaluated
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
template <typename Element>
|
|
775
|
+
constexpr RepeatedField<Element>::RepeatedField(
|
|
776
|
+
internal::InternalMetadataOffset offset)
|
|
777
|
+
: soo_rep_(offset.TranslateForMember<offsetof(RepeatedField, soo_rep_)>()) {
|
|
778
|
+
StaticValidityCheck();
|
|
779
|
+
#ifdef __cpp_lib_is_constant_evaluated
|
|
780
|
+
if (!std::is_constant_evaluated()) {
|
|
781
|
+
AnnotateSize(kSooCapacityElements, 0);
|
|
782
|
+
}
|
|
783
|
+
#endif // __cpp_lib_is_constant_evaluated
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
template <typename Element>
|
|
787
|
+
inline RepeatedField<Element>::RepeatedField(
|
|
788
|
+
internal::InternalMetadataOffset offset, const RepeatedField& rhs)
|
|
789
|
+
: RepeatedField(offset) {
|
|
790
|
+
StaticValidityCheck();
|
|
791
|
+
AnnotateSize(kSooCapacityElements, 0);
|
|
792
|
+
if (auto size = rhs.size()) {
|
|
793
|
+
bool is_soo = true;
|
|
794
|
+
if (size > kSooCapacityElements) {
|
|
795
|
+
Grow(SelfArena{}, is_soo, 0, size);
|
|
796
|
+
is_soo = false;
|
|
797
|
+
}
|
|
798
|
+
ExchangeCurrentSize(size);
|
|
799
|
+
UninitializedCopyN(rhs.elements(rhs.is_soo()), size,
|
|
800
|
+
unsafe_elements(is_soo));
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
template <typename Element>
|
|
805
|
+
template <typename Iter, typename>
|
|
806
|
+
RepeatedField<Element>::RepeatedField(Iter begin, Iter end) {
|
|
807
|
+
StaticValidityCheck();
|
|
808
|
+
AnnotateSize(kSooCapacityElements, 0);
|
|
809
|
+
Add(begin, end);
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
template <typename Element>
|
|
813
|
+
RepeatedField<Element>::~RepeatedField() {
|
|
814
|
+
StaticValidityCheck();
|
|
815
|
+
const bool is_soo = this->is_soo();
|
|
816
|
+
|
|
817
|
+
#ifndef NDEBUG
|
|
818
|
+
auto* arena = GetArena();
|
|
819
|
+
// Try to trigger segfault / asan failure in non-opt builds if arena_
|
|
820
|
+
// lifetime has ended before the destructor.
|
|
821
|
+
if (arena) (void)arena->SpaceAllocated();
|
|
822
|
+
#endif
|
|
823
|
+
const int size = this->size();
|
|
824
|
+
if (size > 0) {
|
|
825
|
+
Element* elem = unsafe_elements(is_soo);
|
|
826
|
+
Destroy(elem, elem + size);
|
|
827
|
+
}
|
|
828
|
+
AnnotateForRelease();
|
|
829
|
+
if (!is_soo) {
|
|
830
|
+
InternalDeallocate</*in_destructor=*/true>(SelfArena{});
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
template <typename Element>
|
|
835
|
+
inline RepeatedField<Element>& RepeatedField<Element>::operator=(
|
|
836
|
+
const RepeatedField& other) ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
837
|
+
if (this != &other) CopyFrom(other);
|
|
838
|
+
return *this;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
template <typename Element>
|
|
842
|
+
inline RepeatedField<Element>::RepeatedField(
|
|
843
|
+
internal::InternalMetadataOffset offset, RepeatedField&& rhs)
|
|
844
|
+
: RepeatedField(offset) {
|
|
845
|
+
Arena* arena = GetArena();
|
|
846
|
+
if (internal::CanMoveWithInternalSwap(arena, rhs.GetArena())) {
|
|
847
|
+
InternalSwap(&rhs);
|
|
848
|
+
} else {
|
|
849
|
+
// We don't just call Swap(&rhs) here because it would perform 3 copies if
|
|
850
|
+
// rhs is on a different arena.
|
|
851
|
+
CopyFrom(rhs);
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
template <typename Element>
|
|
856
|
+
inline RepeatedField<Element>& RepeatedField<Element>::operator=(
|
|
857
|
+
RepeatedField&& other) noexcept ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
858
|
+
// We don't just call Swap(&other) here because it would perform 3 copies if
|
|
859
|
+
// the two fields are on different arenas.
|
|
860
|
+
if (this != &other) {
|
|
861
|
+
if (internal::CanMoveWithInternalSwap(GetArena(), other.GetArena())) {
|
|
862
|
+
InternalSwap(&other);
|
|
863
|
+
} else {
|
|
864
|
+
CopyFrom(other);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
return *this;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
template <typename Element>
|
|
871
|
+
inline bool RepeatedField<Element>::empty() const {
|
|
872
|
+
return size() == 0;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
template <typename Element>
|
|
876
|
+
inline int RepeatedField<Element>::size() const {
|
|
877
|
+
return soo_rep_.size();
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
template <typename Element>
|
|
881
|
+
inline int RepeatedField<Element>::Capacity() const {
|
|
882
|
+
return Capacity(is_soo());
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
template <typename Element>
|
|
886
|
+
inline void RepeatedField<Element>::AddAlreadyReserved(Element value) {
|
|
887
|
+
const bool is_soo = this->is_soo();
|
|
888
|
+
const int old_size = size();
|
|
889
|
+
internal::RuntimeAssertInBounds(old_size, Capacity(is_soo));
|
|
890
|
+
void* p = elements(is_soo) + ExchangeCurrentSize(old_size + 1);
|
|
891
|
+
::new (p) Element(std::move(value));
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
template <typename Element>
|
|
895
|
+
inline Element* RepeatedField<Element>::AddAlreadyReserved()
|
|
896
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
897
|
+
const bool is_soo = this->is_soo();
|
|
898
|
+
const int old_size = size();
|
|
899
|
+
internal::RuntimeAssertInBounds(old_size, Capacity(is_soo));
|
|
900
|
+
// new (p) <TrivialType> compiles into nothing: this is intentional as this
|
|
901
|
+
// function is documented to return uninitialized data for trivial types.
|
|
902
|
+
void* p = elements(is_soo) + ExchangeCurrentSize(old_size + 1);
|
|
903
|
+
return ::new (p) Element;
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
template <typename Element>
|
|
907
|
+
inline Element* RepeatedField<Element>::AddNAlreadyReserved(int n)
|
|
908
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
909
|
+
internal::RuntimeAssertInBoundsGE(n, 0);
|
|
910
|
+
const bool is_soo = this->is_soo();
|
|
911
|
+
const int old_size = size();
|
|
912
|
+
[[maybe_unused]] const int capacity = Capacity(is_soo);
|
|
913
|
+
|
|
914
|
+
const int64_t new_size_64 = static_cast<int64_t>(old_size) + n;
|
|
915
|
+
internal::RuntimeAssertInBoundsLE(new_size_64, capacity);
|
|
916
|
+
|
|
917
|
+
Element* p = unsafe_elements(is_soo) + ExchangeCurrentSize(old_size + n);
|
|
918
|
+
for (Element *begin = p, *end = p + n; begin != end; ++begin) {
|
|
919
|
+
new (static_cast<void*>(begin)) Element;
|
|
920
|
+
}
|
|
921
|
+
return p;
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
template <typename Element>
|
|
925
|
+
ABSL_DEPRECATE_AND_INLINE()
|
|
926
|
+
inline void RepeatedField<Element>::Resize(int new_size, const Element& value) {
|
|
927
|
+
resize(new_size, value);
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
template <typename Element>
|
|
931
|
+
template <typename Init>
|
|
932
|
+
inline void RepeatedField<Element>::ResizeImpl(int new_size, Init init) {
|
|
933
|
+
ABSL_DCHECK_GE(new_size, 0);
|
|
934
|
+
bool is_soo = this->is_soo();
|
|
935
|
+
const int old_size = size();
|
|
936
|
+
if (new_size > old_size) {
|
|
937
|
+
if (new_size > Capacity(is_soo)) {
|
|
938
|
+
Grow(SelfArena{}, is_soo, old_size, new_size);
|
|
939
|
+
is_soo = false;
|
|
940
|
+
}
|
|
941
|
+
Element* elem = elements(is_soo);
|
|
942
|
+
Element* first = elem + ExchangeCurrentSize(new_size);
|
|
943
|
+
init(first, elem + new_size);
|
|
944
|
+
} else if (new_size < old_size) {
|
|
945
|
+
Element* elem = unsafe_elements(is_soo);
|
|
946
|
+
Destroy(elem + new_size, elem + old_size);
|
|
947
|
+
ExchangeCurrentSize(new_size);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
template <typename Element>
|
|
952
|
+
inline void RepeatedField<Element>::resize(size_type new_size,
|
|
953
|
+
const Element& value) {
|
|
954
|
+
ResizeImpl(new_size, [&](auto* first, auto* last) {
|
|
955
|
+
std::uninitialized_fill(first, last, value);
|
|
956
|
+
});
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
template <typename Element>
|
|
960
|
+
inline void RepeatedField<Element>::resize(size_type new_size) {
|
|
961
|
+
ResizeImpl(new_size, [](auto* first, auto* last) {
|
|
962
|
+
std::uninitialized_value_construct(first, last);
|
|
963
|
+
});
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
template <typename Element>
|
|
967
|
+
inline const Element& RepeatedField<Element>::Get(int index) const
|
|
968
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
969
|
+
internal::RuntimeAssertInBounds(index, size());
|
|
970
|
+
return elements(is_soo())[index];
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
template <typename Element>
|
|
974
|
+
inline const Element& RepeatedField<Element>::at(int index) const
|
|
975
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
976
|
+
ABSL_CHECK_GE(index, 0);
|
|
977
|
+
ABSL_CHECK_LT(index, size());
|
|
978
|
+
return elements(is_soo())[index];
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
template <typename Element>
|
|
982
|
+
inline Element& RepeatedField<Element>::at(int index)
|
|
983
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
984
|
+
ABSL_CHECK_GE(index, 0);
|
|
985
|
+
ABSL_CHECK_LT(index, size());
|
|
986
|
+
return elements(is_soo())[index];
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
template <typename Element>
|
|
990
|
+
inline Element* RepeatedField<Element>::Mutable(int index)
|
|
991
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
992
|
+
internal::RuntimeAssertInBounds(index, size());
|
|
993
|
+
return &elements(is_soo())[index];
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
template <typename Element>
|
|
997
|
+
inline void RepeatedField<Element>::Set(int index, const Element& value) {
|
|
998
|
+
*Mutable(index) = value;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
template <typename Element>
|
|
1002
|
+
template <typename ArenaProvider>
|
|
1003
|
+
inline void* RepeatedField<Element>::AddUninitializedWithArena(
|
|
1004
|
+
ArenaProvider arena_provider) {
|
|
1005
|
+
ABSL_DCHECK_EQ(ResolveArena(arena_provider), GetSerialArena());
|
|
1006
|
+
|
|
1007
|
+
bool is_soo = this->is_soo();
|
|
1008
|
+
const int old_size = size();
|
|
1009
|
+
if (ABSL_PREDICT_FALSE(old_size == Capacity(is_soo))) {
|
|
1010
|
+
Grow(arena_provider, is_soo, old_size, old_size + 1);
|
|
1011
|
+
is_soo = false;
|
|
1012
|
+
}
|
|
1013
|
+
return unsafe_elements(is_soo) + ExchangeCurrentSize(old_size + 1);
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
template <typename Element>
|
|
1017
|
+
inline void RepeatedField<Element>::Add(Element value) {
|
|
1018
|
+
AddWithArena(SelfArena{}, std::move(value));
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
template <typename Element>
|
|
1022
|
+
template <typename ArenaProvider>
|
|
1023
|
+
inline void RepeatedField<Element>::InternalAddWithArena(
|
|
1024
|
+
internal::InternalVisibility, ArenaProvider arena_provider, Element value) {
|
|
1025
|
+
AddWithArena(arena_provider, std::move(value));
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
template <typename Element>
|
|
1029
|
+
template <typename ArenaProvider>
|
|
1030
|
+
inline auto RepeatedField<Element>::AddWithArena(ArenaProvider arena_provider,
|
|
1031
|
+
Element value) -> pointer {
|
|
1032
|
+
ABSL_DCHECK_EQ(ResolveArena(arena_provider), GetSerialArena());
|
|
1033
|
+
|
|
1034
|
+
bool is_soo = this->is_soo();
|
|
1035
|
+
const int old_size = size();
|
|
1036
|
+
int capacity = Capacity(is_soo);
|
|
1037
|
+
Element* elem = unsafe_elements(is_soo);
|
|
1038
|
+
if (ABSL_PREDICT_FALSE(old_size == capacity)) {
|
|
1039
|
+
Grow(arena_provider, is_soo, old_size, old_size + 1);
|
|
1040
|
+
is_soo = false;
|
|
1041
|
+
capacity = Capacity(is_soo);
|
|
1042
|
+
elem = unsafe_elements(is_soo);
|
|
1043
|
+
}
|
|
1044
|
+
int new_size = old_size + 1;
|
|
1045
|
+
void* p = elem + ExchangeCurrentSize(new_size);
|
|
1046
|
+
auto* result = ::new (p) Element(std::move(value));
|
|
1047
|
+
|
|
1048
|
+
// The below helps the compiler optimize dense loops.
|
|
1049
|
+
// Note: we can't call functions in PROTOBUF_ASSUME so use local variables.
|
|
1050
|
+
[[maybe_unused]] const bool final_is_soo = this->is_soo();
|
|
1051
|
+
PROTOBUF_ASSUME(is_soo == final_is_soo);
|
|
1052
|
+
[[maybe_unused]] const int final_size = size();
|
|
1053
|
+
PROTOBUF_ASSUME(new_size == final_size);
|
|
1054
|
+
[[maybe_unused]] Element* const final_elements = unsafe_elements(is_soo);
|
|
1055
|
+
PROTOBUF_ASSUME(elem == final_elements);
|
|
1056
|
+
[[maybe_unused]] const int final_capacity = Capacity(is_soo);
|
|
1057
|
+
PROTOBUF_ASSUME(capacity == final_capacity);
|
|
1058
|
+
|
|
1059
|
+
return result;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
template <typename Element>
|
|
1063
|
+
inline Element* RepeatedField<Element>::Add() ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1064
|
+
return AddWithArena(SelfArena{});
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
template <typename Element>
|
|
1068
|
+
template <typename ArenaProvider>
|
|
1069
|
+
inline Element* RepeatedField<Element>::InternalAddWithArena(
|
|
1070
|
+
internal::InternalVisibility,
|
|
1071
|
+
ArenaProvider arena_provider) ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1072
|
+
return AddWithArena(arena_provider);
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
template <typename Element>
|
|
1076
|
+
template <typename ArenaProvider>
|
|
1077
|
+
inline Element* RepeatedField<Element>::AddWithArena(
|
|
1078
|
+
ArenaProvider arena_provider) ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1079
|
+
return ::new (AddUninitializedWithArena(arena_provider)) Element;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
template <typename Element>
|
|
1083
|
+
template <typename ArenaProvider, typename Iter>
|
|
1084
|
+
inline void RepeatedField<Element>::AddForwardIterator(
|
|
1085
|
+
ArenaProvider arena_provider, Iter begin, Iter end) {
|
|
1086
|
+
ABSL_DCHECK_EQ(ResolveArena(arena_provider), GetSerialArena());
|
|
1087
|
+
|
|
1088
|
+
bool is_soo = this->is_soo();
|
|
1089
|
+
const int old_size = size();
|
|
1090
|
+
int capacity = Capacity(is_soo);
|
|
1091
|
+
Element* elem = unsafe_elements(is_soo);
|
|
1092
|
+
// Check for signed overflow.
|
|
1093
|
+
const size_t distance = std::distance(begin, end);
|
|
1094
|
+
ABSL_CHECK_LE(distance, static_cast<size_t>(std::numeric_limits<int>::max()))
|
|
1095
|
+
<< "Input too large";
|
|
1096
|
+
// Check again for signed overflow.
|
|
1097
|
+
const int delta = static_cast<int>(distance);
|
|
1098
|
+
ABSL_CHECK_LE(old_size, std::numeric_limits<int>::max() - delta)
|
|
1099
|
+
<< "Input too large";
|
|
1100
|
+
const int new_size = old_size + delta;
|
|
1101
|
+
if (ABSL_PREDICT_FALSE(new_size > capacity)) {
|
|
1102
|
+
Grow(arena_provider, is_soo, old_size, new_size);
|
|
1103
|
+
is_soo = false;
|
|
1104
|
+
elem = unsafe_elements(is_soo);
|
|
1105
|
+
capacity = Capacity(is_soo);
|
|
1106
|
+
}
|
|
1107
|
+
UninitializedCopy(begin, end, elem + ExchangeCurrentSize(new_size));
|
|
1108
|
+
|
|
1109
|
+
// The below helps the compiler optimize dense loops.
|
|
1110
|
+
// Note: we can't call functions in PROTOBUF_ASSUME so use local variables.
|
|
1111
|
+
[[maybe_unused]] const bool final_is_soo = this->is_soo();
|
|
1112
|
+
PROTOBUF_ASSUME(is_soo == final_is_soo);
|
|
1113
|
+
[[maybe_unused]] const int final_size = size();
|
|
1114
|
+
PROTOBUF_ASSUME(new_size == final_size);
|
|
1115
|
+
[[maybe_unused]] Element* const final_elements = unsafe_elements(is_soo);
|
|
1116
|
+
PROTOBUF_ASSUME(elem == final_elements);
|
|
1117
|
+
[[maybe_unused]] const int final_capacity = Capacity(is_soo);
|
|
1118
|
+
PROTOBUF_ASSUME(capacity == final_capacity);
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
template <typename Element>
|
|
1122
|
+
template <typename ArenaProvider, typename Iter>
|
|
1123
|
+
inline void RepeatedField<Element>::AddInputIterator(
|
|
1124
|
+
ArenaProvider arena_provider, Iter begin, Iter end) {
|
|
1125
|
+
ABSL_DCHECK_EQ(ResolveArena(arena_provider), GetSerialArena());
|
|
1126
|
+
|
|
1127
|
+
bool is_soo = this->is_soo();
|
|
1128
|
+
int size = this->size();
|
|
1129
|
+
int capacity = Capacity(is_soo);
|
|
1130
|
+
Element* elem = unsafe_elements(is_soo);
|
|
1131
|
+
Element* first = elem + size;
|
|
1132
|
+
Element* last = elem + capacity;
|
|
1133
|
+
AnnotateForRelease();
|
|
1134
|
+
|
|
1135
|
+
while (begin != end) {
|
|
1136
|
+
if (ABSL_PREDICT_FALSE(first == last)) {
|
|
1137
|
+
size = first - elem;
|
|
1138
|
+
GrowNoAnnotate(arena_provider, is_soo, size, size + 1);
|
|
1139
|
+
is_soo = false;
|
|
1140
|
+
elem = unsafe_elements(is_soo);
|
|
1141
|
+
capacity = Capacity(is_soo);
|
|
1142
|
+
first = elem + size;
|
|
1143
|
+
last = elem + capacity;
|
|
1144
|
+
}
|
|
1145
|
+
::new (static_cast<void*>(first)) Element(*begin);
|
|
1146
|
+
++begin;
|
|
1147
|
+
++first;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
const int new_size = first - elem;
|
|
1151
|
+
soo_rep_.set_size(new_size);
|
|
1152
|
+
AnnotateSize(capacity, new_size);
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
template <typename Element>
|
|
1156
|
+
template <typename Iter>
|
|
1157
|
+
inline void RepeatedField<Element>::Add(Iter begin, Iter end) {
|
|
1158
|
+
AddWithArena(SelfArena{}, std::move(begin), std::move(end));
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
template <typename Element>
|
|
1162
|
+
template <typename ArenaProvider, typename Iter>
|
|
1163
|
+
inline void RepeatedField<Element>::AddWithArena(ArenaProvider arena_provider,
|
|
1164
|
+
Iter begin, Iter end) {
|
|
1165
|
+
if (std::is_base_of<
|
|
1166
|
+
std::forward_iterator_tag,
|
|
1167
|
+
typename std::iterator_traits<Iter>::iterator_category>::value) {
|
|
1168
|
+
AddForwardIterator(arena_provider, begin, end);
|
|
1169
|
+
} else {
|
|
1170
|
+
AddInputIterator(arena_provider, begin, end);
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
template <typename Element>
|
|
1175
|
+
template <typename... Args>
|
|
1176
|
+
typename RepeatedField<Element>::pointer
|
|
1177
|
+
RepeatedField<Element>::EmplaceWithArena(Arena* arena, Args&&... args) {
|
|
1178
|
+
return ::new (AddUninitializedWithArena(arena))
|
|
1179
|
+
Element(std::forward<Args>(args)...);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
template <typename Element>
|
|
1183
|
+
inline void RepeatedField<Element>::RemoveLast() {
|
|
1184
|
+
const bool is_soo = this->is_soo();
|
|
1185
|
+
const int old_size = size();
|
|
1186
|
+
ABSL_DCHECK_GT(old_size, 0);
|
|
1187
|
+
elements(is_soo)[old_size - 1].~Element();
|
|
1188
|
+
ExchangeCurrentSize(old_size - 1);
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
template <typename Element>
|
|
1192
|
+
void RepeatedField<Element>::ExtractSubrange(int start, int num,
|
|
1193
|
+
Element* elements) {
|
|
1194
|
+
ABSL_DCHECK_GE(start, 0);
|
|
1195
|
+
ABSL_DCHECK_GE(num, 0);
|
|
1196
|
+
const bool is_soo = this->is_soo();
|
|
1197
|
+
const int old_size = size();
|
|
1198
|
+
ABSL_DCHECK_LE(start + num, old_size);
|
|
1199
|
+
Element* elem = unsafe_elements(is_soo);
|
|
1200
|
+
|
|
1201
|
+
// Save the values of the removed elements if requested.
|
|
1202
|
+
if (elements != nullptr) {
|
|
1203
|
+
for (int i = 0; i < num; ++i) elements[i] = std::move(elem[i + start]);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
// Slide remaining elements down to fill the gap.
|
|
1207
|
+
if (num > 0) {
|
|
1208
|
+
for (int i = start + num; i < old_size; ++i)
|
|
1209
|
+
elem[i - num] = std::move(elem[i]);
|
|
1210
|
+
Truncate(old_size - num);
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
template <typename Element>
|
|
1215
|
+
inline void RepeatedField<Element>::Clear() {
|
|
1216
|
+
const bool is_soo = this->is_soo();
|
|
1217
|
+
Element* elem = unsafe_elements(is_soo);
|
|
1218
|
+
Destroy(elem, elem + size());
|
|
1219
|
+
ExchangeCurrentSize(0);
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
template <typename Element>
|
|
1223
|
+
inline void RepeatedField<Element>::MergeFrom(const RepeatedField& other) {
|
|
1224
|
+
ABSL_DCHECK_NE(&other, this);
|
|
1225
|
+
const bool other_is_soo = other.is_soo();
|
|
1226
|
+
if (auto other_size = other.size()) {
|
|
1227
|
+
const int old_size = size();
|
|
1228
|
+
Reserve(old_size + other_size);
|
|
1229
|
+
const bool is_soo = this->is_soo();
|
|
1230
|
+
Element* dst =
|
|
1231
|
+
elements(is_soo) + ExchangeCurrentSize(old_size + other_size);
|
|
1232
|
+
UninitializedCopyN(other.elements(other_is_soo), other_size, dst);
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
template <typename Element>
|
|
1237
|
+
inline void RepeatedField<Element>::CopyFrom(const RepeatedField& other) {
|
|
1238
|
+
if (&other == this) return;
|
|
1239
|
+
Clear();
|
|
1240
|
+
MergeFrom(other);
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
template <typename Element>
|
|
1244
|
+
template <typename Iter>
|
|
1245
|
+
inline void RepeatedField<Element>::Assign(Iter begin, Iter end) {
|
|
1246
|
+
Clear();
|
|
1247
|
+
Add(begin, end);
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
template <typename Element>
|
|
1251
|
+
inline typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(
|
|
1252
|
+
const_iterator position) ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1253
|
+
return erase(position, position + 1);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
template <typename Element>
|
|
1257
|
+
inline typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(
|
|
1258
|
+
const_iterator first, const_iterator last) ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1259
|
+
size_type first_offset = first - cbegin();
|
|
1260
|
+
if (first != last) {
|
|
1261
|
+
Truncate(std::copy(last, cend(), begin() + first_offset) - cbegin());
|
|
1262
|
+
}
|
|
1263
|
+
return begin() + first_offset;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
template <typename Element>
|
|
1267
|
+
inline Element* RepeatedField<Element>::mutable_data()
|
|
1268
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1269
|
+
return unsafe_elements(is_soo());
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
template <typename Element>
|
|
1273
|
+
inline const Element* RepeatedField<Element>::data() const
|
|
1274
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1275
|
+
return unsafe_elements(is_soo());
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
template <typename Element>
|
|
1279
|
+
inline void RepeatedField<Element>::InternalSwap(
|
|
1280
|
+
RepeatedField* PROTOBUF_RESTRICT other) {
|
|
1281
|
+
ABSL_DCHECK(this != other);
|
|
1282
|
+
|
|
1283
|
+
// We need to unpoison during the swap in case we're in SOO mode.
|
|
1284
|
+
AnnotateForRelease();
|
|
1285
|
+
other->AnnotateForRelease();
|
|
1286
|
+
|
|
1287
|
+
soo_rep_.swap(other->soo_rep_);
|
|
1288
|
+
|
|
1289
|
+
AnnotateSize(Capacity(), size());
|
|
1290
|
+
other->AnnotateSize(other->Capacity(), other->size());
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
template <typename Element>
|
|
1294
|
+
void RepeatedField<Element>::SwapFallbackWithTemp(
|
|
1295
|
+
Arena* arena, RepeatedField& other, Arena* other_arena,
|
|
1296
|
+
RepeatedField<Element>& temp) {
|
|
1297
|
+
ABSL_DCHECK(this != &other);
|
|
1298
|
+
|
|
1299
|
+
temp.MergeFrom(*this);
|
|
1300
|
+
CopyFrom(other);
|
|
1301
|
+
other.UnsafeArenaSwap(&temp);
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
template <typename Element>
|
|
1305
|
+
void RepeatedField<Element>::Swap(RepeatedField* other) {
|
|
1306
|
+
if (this == other) return;
|
|
1307
|
+
Arena* arena = GetArena();
|
|
1308
|
+
Arena* other_arena = other->GetArena();
|
|
1309
|
+
if (internal::CanUseInternalSwap(arena, other_arena)) {
|
|
1310
|
+
InternalSwap(other);
|
|
1311
|
+
} else if (other_arena != nullptr) {
|
|
1312
|
+
// We can't call the destructor of the temp container since it allocates
|
|
1313
|
+
// memory from an arena, and the destructor of FieldWithArena expects to be
|
|
1314
|
+
// called only when arena is nullptr.
|
|
1315
|
+
absl::NoDestructor<internal::RepeatedFieldWithArena<Element>>
|
|
1316
|
+
temp_container(other_arena);
|
|
1317
|
+
auto& temp = temp_container->field();
|
|
1318
|
+
SwapFallbackWithTemp(arena, *other, other_arena, temp);
|
|
1319
|
+
|
|
1320
|
+
// If the element type is not destructor-skippable, then we need to invoke
|
|
1321
|
+
// the destructor of the temporary `RepeatedField`.
|
|
1322
|
+
if constexpr (!Arena::is_destructor_skippable<RepeatedField>::value) {
|
|
1323
|
+
temp.~RepeatedField();
|
|
1324
|
+
}
|
|
1325
|
+
} else {
|
|
1326
|
+
RepeatedField<Element> temp;
|
|
1327
|
+
SwapFallbackWithTemp(arena, *other, other_arena, temp);
|
|
1328
|
+
}
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
template <typename Element>
|
|
1332
|
+
void RepeatedField<Element>::UnsafeArenaSwap(RepeatedField* other) {
|
|
1333
|
+
if (this == other) return;
|
|
1334
|
+
ABSL_DCHECK_EQ(GetArena(), other->GetArena());
|
|
1335
|
+
InternalSwap(other);
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
template <typename Element>
|
|
1339
|
+
void RepeatedField<Element>::SwapElements(int index1, int index2) {
|
|
1340
|
+
internal::RuntimeAssertInBounds(index1, size());
|
|
1341
|
+
internal::RuntimeAssertInBounds(index2, size());
|
|
1342
|
+
Element* elem = elements(is_soo());
|
|
1343
|
+
using std::swap; // enable ADL with fallback
|
|
1344
|
+
swap(elem[index1], elem[index2]);
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
template <typename Element>
|
|
1348
|
+
inline typename RepeatedField<Element>::iterator RepeatedField<Element>::begin()
|
|
1349
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1350
|
+
return iterator(unsafe_elements(is_soo()));
|
|
1351
|
+
}
|
|
1352
|
+
template <typename Element>
|
|
1353
|
+
inline typename RepeatedField<Element>::const_iterator
|
|
1354
|
+
RepeatedField<Element>::begin() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1355
|
+
return const_iterator(unsafe_elements(is_soo()));
|
|
1356
|
+
}
|
|
1357
|
+
template <typename Element>
|
|
1358
|
+
inline typename RepeatedField<Element>::const_iterator
|
|
1359
|
+
RepeatedField<Element>::cbegin() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1360
|
+
return const_iterator(unsafe_elements(is_soo()));
|
|
1361
|
+
}
|
|
1362
|
+
template <typename Element>
|
|
1363
|
+
inline typename RepeatedField<Element>::iterator RepeatedField<Element>::end()
|
|
1364
|
+
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1365
|
+
const bool is_soo = this->is_soo();
|
|
1366
|
+
return iterator(unsafe_elements(is_soo) + size());
|
|
1367
|
+
}
|
|
1368
|
+
template <typename Element>
|
|
1369
|
+
inline typename RepeatedField<Element>::const_iterator
|
|
1370
|
+
RepeatedField<Element>::end() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1371
|
+
const bool is_soo = this->is_soo();
|
|
1372
|
+
return const_iterator(unsafe_elements(is_soo) + size());
|
|
1373
|
+
}
|
|
1374
|
+
template <typename Element>
|
|
1375
|
+
inline typename RepeatedField<Element>::const_iterator
|
|
1376
|
+
RepeatedField<Element>::cend() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1377
|
+
const bool is_soo = this->is_soo();
|
|
1378
|
+
return const_iterator(unsafe_elements(is_soo) + size());
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
template <typename Element>
|
|
1382
|
+
inline size_t RepeatedField<Element>::SpaceUsedExcludingSelfLong() const {
|
|
1383
|
+
const int capacity = Capacity();
|
|
1384
|
+
return capacity > kSooCapacityElements
|
|
1385
|
+
? capacity * sizeof(Element) + kHeapRepHeaderSize
|
|
1386
|
+
: 0;
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
// Like C++20's std::erase_if, for RepeatedField
|
|
1390
|
+
template <typename T, typename Pred>
|
|
1391
|
+
size_t erase_if(RepeatedField<T>& cont, Pred pred) {
|
|
1392
|
+
// Intentionally decay `elem` to avoid exposing a reference to elements of the
|
|
1393
|
+
// repeated field directly.
|
|
1394
|
+
using DecayedElement = internal::DecayedRepeatedFieldElement<T>;
|
|
1395
|
+
auto it =
|
|
1396
|
+
std::remove_if(cont.begin(), cont.end(),
|
|
1397
|
+
[&pred](const DecayedElement elem) { return pred(elem); });
|
|
1398
|
+
size_t removed = cont.end() - it;
|
|
1399
|
+
cont.Truncate(cont.size() - removed);
|
|
1400
|
+
return removed;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
// Like C++20's std::erase, for RepeatedField
|
|
1404
|
+
template <typename T, typename U>
|
|
1405
|
+
size_t erase(RepeatedField<T>& cont, const U& value) {
|
|
1406
|
+
return google::protobuf::erase_if(cont,
|
|
1407
|
+
[&](const auto& elem) { return elem == value; });
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
// These functions mimic their std counterpart, but potentially more efficient
|
|
1411
|
+
// for Protobuf containers.
|
|
1412
|
+
template <int&..., typename T, typename Compare>
|
|
1413
|
+
void sort(internal::RepeatedIterator<T> begin,
|
|
1414
|
+
internal::RepeatedIterator<T> end, Compare cmp) {
|
|
1415
|
+
// Intentionally decay `lhs` and `rhs` to avoid exposing a reference to
|
|
1416
|
+
// elements of the repeated field directly.
|
|
1417
|
+
using DecayedElement = internal::DecayedRepeatedFieldElement<T>;
|
|
1418
|
+
std::sort(begin, end,
|
|
1419
|
+
[&cmp](const DecayedElement lhs, const DecayedElement rhs) {
|
|
1420
|
+
return cmp(lhs, rhs);
|
|
1421
|
+
});
|
|
1422
|
+
}
|
|
1423
|
+
template <int&..., typename T>
|
|
1424
|
+
void sort(internal::RepeatedIterator<T> begin,
|
|
1425
|
+
internal::RepeatedIterator<T> end) {
|
|
1426
|
+
google::protobuf::sort(begin, end, std::less<>{});
|
|
1427
|
+
}
|
|
1428
|
+
template <int&..., typename T, typename Compare>
|
|
1429
|
+
void stable_sort(internal::RepeatedIterator<T> begin,
|
|
1430
|
+
internal::RepeatedIterator<T> end, Compare cmp) {
|
|
1431
|
+
// Intentionally decay `lhs` and `rhs` to avoid exposing a reference to
|
|
1432
|
+
// elements of the repeated field directly.
|
|
1433
|
+
using DecayedElement = internal::DecayedRepeatedFieldElement<T>;
|
|
1434
|
+
std::stable_sort(begin, end,
|
|
1435
|
+
[&cmp](const DecayedElement lhs, const DecayedElement rhs) {
|
|
1436
|
+
return cmp(lhs, rhs);
|
|
1437
|
+
});
|
|
1438
|
+
}
|
|
1439
|
+
template <int&..., typename T>
|
|
1440
|
+
void stable_sort(internal::RepeatedIterator<T> begin,
|
|
1441
|
+
internal::RepeatedIterator<T> end) {
|
|
1442
|
+
google::protobuf::stable_sort(begin, end, std::less<>{});
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
// These functions mimic their absl counterpart, but they are more efficient for
|
|
1446
|
+
// Protobuf containers.
|
|
1447
|
+
template <int&..., typename T, typename Compare>
|
|
1448
|
+
void c_sort(RepeatedField<T>& cont, Compare cmp) {
|
|
1449
|
+
google::protobuf::sort(cont.begin(), cont.end(), cmp);
|
|
1450
|
+
}
|
|
1451
|
+
template <int&..., typename T>
|
|
1452
|
+
void c_sort(RepeatedField<T>& cont) {
|
|
1453
|
+
google::protobuf::c_sort(cont, std::less<>{});
|
|
1454
|
+
}
|
|
1455
|
+
template <int&..., typename T, typename Compare>
|
|
1456
|
+
void c_stable_sort(RepeatedField<T>& cont, Compare cmp) {
|
|
1457
|
+
google::protobuf::stable_sort(cont.begin(), cont.end(), cmp);
|
|
1458
|
+
}
|
|
1459
|
+
template <int&..., typename T>
|
|
1460
|
+
void c_stable_sort(RepeatedField<T>& cont) {
|
|
1461
|
+
google::protobuf::c_stable_sort(cont, std::less<>{});
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
namespace internal {
|
|
1465
|
+
// Returns the new size for a reserved field based on its 'capacity' and the
|
|
1466
|
+
// requested 'new_size'. The result is clamped to the closed interval:
|
|
1467
|
+
// [internal::kMinRepeatedFieldAllocationSize,
|
|
1468
|
+
// std::numeric_limits<int>::max()]
|
|
1469
|
+
// Requires: new_size > capacity
|
|
1470
|
+
template <typename T, int kHeapRepHeaderSize>
|
|
1471
|
+
inline int CalculateReserveSize(int capacity, int new_size) {
|
|
1472
|
+
constexpr int lower_limit =
|
|
1473
|
+
RepeatedFieldLowerClampLimit<T, kHeapRepHeaderSize>();
|
|
1474
|
+
if (new_size < lower_limit) {
|
|
1475
|
+
// Clamp to smallest allowed size.
|
|
1476
|
+
return lower_limit;
|
|
1477
|
+
}
|
|
1478
|
+
constexpr int kMaxSizeBeforeClamp =
|
|
1479
|
+
(std::numeric_limits<int>::max() - kHeapRepHeaderSize) / 2;
|
|
1480
|
+
if (ABSL_PREDICT_FALSE(capacity > kMaxSizeBeforeClamp)) {
|
|
1481
|
+
return std::numeric_limits<int>::max();
|
|
1482
|
+
}
|
|
1483
|
+
constexpr int kSooCapacityElements = SooCapacityElements<T>();
|
|
1484
|
+
if (kSooCapacityElements > 0 && kSooCapacityElements < lower_limit) {
|
|
1485
|
+
// In this case, we need to set capacity to 0 here to ensure power-of-two
|
|
1486
|
+
// sized allocations.
|
|
1487
|
+
if (capacity < lower_limit) capacity = 0;
|
|
1488
|
+
} else {
|
|
1489
|
+
ABSL_DCHECK(capacity == 0 || capacity >= lower_limit)
|
|
1490
|
+
<< capacity << " " << lower_limit;
|
|
1491
|
+
}
|
|
1492
|
+
// We want to double the number of bytes, not the number of elements, to try
|
|
1493
|
+
// to stay within power-of-two allocations.
|
|
1494
|
+
// The allocation has kHeapRepHeaderSize + sizeof(T) * capacity.
|
|
1495
|
+
int doubled_size = 2 * capacity + kHeapRepHeaderSize / sizeof(T);
|
|
1496
|
+
return std::max(doubled_size, new_size);
|
|
1497
|
+
}
|
|
1498
|
+
} // namespace internal
|
|
1499
|
+
|
|
1500
|
+
template <typename Element>
|
|
1501
|
+
inline void RepeatedField<Element>::Reserve(int new_size) {
|
|
1502
|
+
ReserveWithArena(SelfArena{}, new_size);
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
template <typename Element>
|
|
1506
|
+
template <typename ArenaProvider>
|
|
1507
|
+
void RepeatedField<Element>::ReserveWithArena(ArenaProvider arena_provider,
|
|
1508
|
+
int new_size) {
|
|
1509
|
+
const bool was_soo = is_soo();
|
|
1510
|
+
if (ABSL_PREDICT_FALSE(new_size > Capacity(was_soo))) {
|
|
1511
|
+
Grow(arena_provider, was_soo, size(), new_size);
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
// Avoid inlining of Reserve(): new, copy, and delete[] lead to a significant
|
|
1516
|
+
// amount of code bloat.
|
|
1517
|
+
template <typename Element>
|
|
1518
|
+
template <typename ArenaProvider>
|
|
1519
|
+
PROTOBUF_NOINLINE void RepeatedField<Element>::GrowNoAnnotate(
|
|
1520
|
+
ArenaProvider arena_provider, bool was_soo, int old_size, int new_size) {
|
|
1521
|
+
ABSL_DCHECK_EQ(ResolveArena(arena_provider), GetSerialArena());
|
|
1522
|
+
const int old_capacity = Capacity(was_soo);
|
|
1523
|
+
ABSL_DCHECK_GT(new_size, old_capacity);
|
|
1524
|
+
HeapRep* new_rep;
|
|
1525
|
+
|
|
1526
|
+
new_size = internal::CalculateReserveSize<Element, kHeapRepHeaderSize>(
|
|
1527
|
+
old_capacity, new_size);
|
|
1528
|
+
|
|
1529
|
+
ABSL_DCHECK_LE(static_cast<size_t>(new_size),
|
|
1530
|
+
(std::numeric_limits<size_t>::max() - kHeapRepHeaderSize) /
|
|
1531
|
+
sizeof(Element))
|
|
1532
|
+
<< "Requested size is too large to fit into size_t.";
|
|
1533
|
+
size_t bytes =
|
|
1534
|
+
kHeapRepHeaderSize + sizeof(Element) * static_cast<size_t>(new_size);
|
|
1535
|
+
internal::SerialArena* arena = ResolveArena(arena_provider);
|
|
1536
|
+
if (arena == nullptr) {
|
|
1537
|
+
ABSL_DCHECK_LE((bytes - kHeapRepHeaderSize) / sizeof(Element),
|
|
1538
|
+
static_cast<size_t>(std::numeric_limits<int>::max()))
|
|
1539
|
+
<< "Requested size is too large to fit element count into int.";
|
|
1540
|
+
internal::SizedPtr res = internal::AllocateAtLeast(bytes);
|
|
1541
|
+
size_t num_available =
|
|
1542
|
+
std::min((res.n - kHeapRepHeaderSize) / sizeof(Element),
|
|
1543
|
+
static_cast<size_t>(std::numeric_limits<int>::max()));
|
|
1544
|
+
new_size = static_cast<int>(num_available);
|
|
1545
|
+
new_rep = new (res.p) HeapRep(new_size);
|
|
1546
|
+
} else {
|
|
1547
|
+
if constexpr (internal::ArenaAlignDefault::Ceil(sizeof(Element)) !=
|
|
1548
|
+
sizeof(Element)) {
|
|
1549
|
+
// We need to manually align the allocation.
|
|
1550
|
+
bytes = internal::ArenaAlignDefault::Ceil(bytes);
|
|
1551
|
+
}
|
|
1552
|
+
new_rep =
|
|
1553
|
+
new (arena->AllocateAligned<internal::AllocationClient::kArray>(bytes))
|
|
1554
|
+
HeapRep(new_size);
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
if (old_size > 0) {
|
|
1558
|
+
Element* pnew = static_cast<Element*>(new_rep->elements());
|
|
1559
|
+
Element* pold = elements(was_soo);
|
|
1560
|
+
if constexpr (std::is_trivially_copyable<Element>::value ||
|
|
1561
|
+
absl::is_trivially_relocatable<Element>::value) {
|
|
1562
|
+
memcpy(static_cast<void*>(pnew), pold, old_size * sizeof(Element));
|
|
1563
|
+
} else {
|
|
1564
|
+
for (Element* end = pnew + old_size; pnew != end; ++pnew, ++pold) {
|
|
1565
|
+
::new (static_cast<void*>(pnew)) Element(std::move(*pold));
|
|
1566
|
+
pold->~Element();
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
if (!was_soo) InternalDeallocate(arena);
|
|
1571
|
+
|
|
1572
|
+
soo_rep_.set_non_soo(new_rep);
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
// Ideally we would be able to use:
|
|
1576
|
+
// template <bool annotate_size = true>
|
|
1577
|
+
// void Grow();
|
|
1578
|
+
// However, as explained in b/266411038#comment9, this causes issues
|
|
1579
|
+
// in shared libraries for Youtube (and possibly elsewhere).
|
|
1580
|
+
template <typename Element>
|
|
1581
|
+
template <typename ArenaProvider>
|
|
1582
|
+
PROTOBUF_NOINLINE void RepeatedField<Element>::Grow(
|
|
1583
|
+
ArenaProvider arena_provider, bool was_soo, int old_size, int new_size) {
|
|
1584
|
+
AnnotateForRelease();
|
|
1585
|
+
GrowNoAnnotate(arena_provider, was_soo, old_size, new_size);
|
|
1586
|
+
AnnotateSize(Capacity(), old_size);
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
template <typename Element>
|
|
1590
|
+
inline void RepeatedField<Element>::Truncate(int new_size) {
|
|
1591
|
+
const int old_size = size();
|
|
1592
|
+
ABSL_DCHECK_LE(new_size, old_size);
|
|
1593
|
+
if (new_size < old_size) {
|
|
1594
|
+
Element* elem = unsafe_elements(this->is_soo());
|
|
1595
|
+
Destroy(elem + new_size, elem + old_size);
|
|
1596
|
+
ExchangeCurrentSize(new_size);
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
template <>
|
|
1601
|
+
PROTOBUF_EXPORT size_t
|
|
1602
|
+
RepeatedField<absl::Cord>::SpaceUsedExcludingSelfLong() const;
|
|
1603
|
+
|
|
1604
|
+
// -------------------------------------------------------------------
|
|
1605
|
+
|
|
1606
|
+
// Iterators and helper functions that follow the spirit of the STL
|
|
1607
|
+
// std::back_insert_iterator and std::back_inserter but are tailor-made
|
|
1608
|
+
// for RepeatedField and RepeatedPtrField. Typical usage would be:
|
|
1609
|
+
//
|
|
1610
|
+
// std::copy(some_sequence.begin(), some_sequence.end(),
|
|
1611
|
+
// RepeatedFieldBackInserter(proto.mutable_sequence()));
|
|
1612
|
+
//
|
|
1613
|
+
// Ported by johannes from util/gtl/proto-array-iterators.h
|
|
1614
|
+
|
|
1615
|
+
namespace internal {
|
|
1616
|
+
|
|
1617
|
+
// STL-like iterator implementation for RepeatedField. You should not
|
|
1618
|
+
// refer to this class directly; use RepeatedField<T>::iterator instead.
|
|
1619
|
+
//
|
|
1620
|
+
// Note: All of the iterator operators *must* be inlined to avoid performance
|
|
1621
|
+
// regressions. This is caused by the extern template declarations below (which
|
|
1622
|
+
// are required because of the RepeatedField extern template declarations). If
|
|
1623
|
+
// any of these functions aren't explicitly inlined (e.g. defined in the class),
|
|
1624
|
+
// the compiler isn't allowed to inline them.
|
|
1625
|
+
template <typename Element>
|
|
1626
|
+
class RepeatedIterator {
|
|
1627
|
+
private:
|
|
1628
|
+
using traits =
|
|
1629
|
+
std::iterator_traits<typename std::remove_const<Element>::type*>;
|
|
1630
|
+
|
|
1631
|
+
public:
|
|
1632
|
+
// Note: value_type is never cv-qualified.
|
|
1633
|
+
using value_type = typename traits::value_type;
|
|
1634
|
+
using difference_type = typename traits::difference_type;
|
|
1635
|
+
using pointer = Element*;
|
|
1636
|
+
using reference = Element&;
|
|
1637
|
+
using iterator_category = typename traits::iterator_category;
|
|
1638
|
+
using iterator_concept = typename IteratorConceptSupport<traits>::tag;
|
|
1639
|
+
|
|
1640
|
+
constexpr RepeatedIterator() noexcept : it_(nullptr) {}
|
|
1641
|
+
|
|
1642
|
+
// Allows "upcasting" from RepeatedIterator<T**> to
|
|
1643
|
+
// RepeatedIterator<const T*const*>.
|
|
1644
|
+
template <typename OtherElement,
|
|
1645
|
+
typename std::enable_if<std::is_convertible<
|
|
1646
|
+
OtherElement*, pointer>::value>::type* = nullptr>
|
|
1647
|
+
constexpr RepeatedIterator(
|
|
1648
|
+
const RepeatedIterator<OtherElement>& other) noexcept
|
|
1649
|
+
: it_(other.it_) {}
|
|
1650
|
+
|
|
1651
|
+
// dereferenceable
|
|
1652
|
+
PROTOBUF_FUTURE_ADD_NODISCARD constexpr reference operator*() const noexcept {
|
|
1653
|
+
return *it_;
|
|
1654
|
+
}
|
|
1655
|
+
PROTOBUF_FUTURE_ADD_NODISCARD constexpr pointer operator->() const noexcept {
|
|
1656
|
+
return it_;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1659
|
+
private:
|
|
1660
|
+
// Helper alias to hide the internal type.
|
|
1661
|
+
using iterator = RepeatedIterator<Element>;
|
|
1662
|
+
|
|
1663
|
+
public:
|
|
1664
|
+
// {inc,dec}rementable
|
|
1665
|
+
iterator& operator++() noexcept {
|
|
1666
|
+
++it_;
|
|
1667
|
+
return *this;
|
|
1668
|
+
}
|
|
1669
|
+
iterator operator++(int) noexcept { return iterator(it_++); }
|
|
1670
|
+
iterator& operator--() noexcept {
|
|
1671
|
+
--it_;
|
|
1672
|
+
return *this;
|
|
1673
|
+
}
|
|
1674
|
+
iterator operator--(int) noexcept { return iterator(it_--); }
|
|
1675
|
+
|
|
1676
|
+
// equality_comparable
|
|
1677
|
+
friend constexpr bool operator==(const iterator& x,
|
|
1678
|
+
const iterator& y) noexcept {
|
|
1679
|
+
return x.it_ == y.it_;
|
|
1680
|
+
}
|
|
1681
|
+
friend constexpr bool operator!=(const iterator& x,
|
|
1682
|
+
const iterator& y) noexcept {
|
|
1683
|
+
return x.it_ != y.it_;
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
// less_than_comparable
|
|
1687
|
+
friend constexpr bool operator<(const iterator& x,
|
|
1688
|
+
const iterator& y) noexcept {
|
|
1689
|
+
return x.it_ < y.it_;
|
|
1690
|
+
}
|
|
1691
|
+
friend constexpr bool operator<=(const iterator& x,
|
|
1692
|
+
const iterator& y) noexcept {
|
|
1693
|
+
return x.it_ <= y.it_;
|
|
1694
|
+
}
|
|
1695
|
+
friend constexpr bool operator>(const iterator& x,
|
|
1696
|
+
const iterator& y) noexcept {
|
|
1697
|
+
return x.it_ > y.it_;
|
|
1698
|
+
}
|
|
1699
|
+
friend constexpr bool operator>=(const iterator& x,
|
|
1700
|
+
const iterator& y) noexcept {
|
|
1701
|
+
return x.it_ >= y.it_;
|
|
1702
|
+
}
|
|
1703
|
+
|
|
1704
|
+
// addable, subtractable
|
|
1705
|
+
iterator& operator+=(difference_type d) noexcept {
|
|
1706
|
+
it_ += d;
|
|
1707
|
+
return *this;
|
|
1708
|
+
}
|
|
1709
|
+
constexpr iterator operator+(difference_type d) const noexcept {
|
|
1710
|
+
return iterator(it_ + d);
|
|
1711
|
+
}
|
|
1712
|
+
friend constexpr iterator operator+(const difference_type d,
|
|
1713
|
+
iterator it) noexcept {
|
|
1714
|
+
return it + d;
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
iterator& operator-=(difference_type d) noexcept {
|
|
1718
|
+
it_ -= d;
|
|
1719
|
+
return *this;
|
|
1720
|
+
}
|
|
1721
|
+
iterator constexpr operator-(difference_type d) const noexcept {
|
|
1722
|
+
return iterator(it_ - d);
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
// indexable
|
|
1726
|
+
PROTOBUF_FUTURE_ADD_NODISCARD constexpr reference operator[](
|
|
1727
|
+
difference_type d) const noexcept {
|
|
1728
|
+
return it_[d];
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
// random access iterator
|
|
1732
|
+
friend constexpr difference_type operator-(iterator it1,
|
|
1733
|
+
iterator it2) noexcept {
|
|
1734
|
+
return it1.it_ - it2.it_;
|
|
1735
|
+
}
|
|
1736
|
+
|
|
1737
|
+
private:
|
|
1738
|
+
template <typename OtherElement>
|
|
1739
|
+
friend class RepeatedIterator;
|
|
1740
|
+
|
|
1741
|
+
// Allow construction from RepeatedField.
|
|
1742
|
+
friend class RepeatedField<value_type>;
|
|
1743
|
+
explicit RepeatedIterator(pointer it) noexcept : it_(it) {}
|
|
1744
|
+
|
|
1745
|
+
// The internal iterator.
|
|
1746
|
+
pointer it_;
|
|
1747
|
+
};
|
|
1748
|
+
|
|
1749
|
+
// A back inserter for RepeatedField objects.
|
|
1750
|
+
template <typename T>
|
|
1751
|
+
class RepeatedFieldBackInsertIterator {
|
|
1752
|
+
public:
|
|
1753
|
+
using iterator_category = std::output_iterator_tag;
|
|
1754
|
+
using value_type = T;
|
|
1755
|
+
using pointer = void;
|
|
1756
|
+
using reference = void;
|
|
1757
|
+
using difference_type = std::ptrdiff_t;
|
|
1758
|
+
|
|
1759
|
+
explicit RepeatedFieldBackInsertIterator(
|
|
1760
|
+
RepeatedField<T>* const mutable_field)
|
|
1761
|
+
: field_(mutable_field) {}
|
|
1762
|
+
RepeatedFieldBackInsertIterator<T>& operator=(const T& value) {
|
|
1763
|
+
field_->Add(value);
|
|
1764
|
+
return *this;
|
|
1765
|
+
}
|
|
1766
|
+
RepeatedFieldBackInsertIterator<T>& operator*() { return *this; }
|
|
1767
|
+
RepeatedFieldBackInsertIterator<T>& operator++() { return *this; }
|
|
1768
|
+
RepeatedFieldBackInsertIterator<T>& operator++(int /* unused */) {
|
|
1769
|
+
return *this;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
private:
|
|
1773
|
+
RepeatedField<T>* field_;
|
|
1774
|
+
};
|
|
1775
|
+
|
|
1776
|
+
} // namespace internal
|
|
1777
|
+
|
|
1778
|
+
// Provides a back insert iterator for RepeatedField instances,
|
|
1779
|
+
// similar to std::back_inserter().
|
|
1780
|
+
template <typename T>
|
|
1781
|
+
internal::RepeatedFieldBackInsertIterator<T> RepeatedFieldBackInserter(
|
|
1782
|
+
RepeatedField<T>* const mutable_field) {
|
|
1783
|
+
return internal::RepeatedFieldBackInsertIterator<T>(mutable_field);
|
|
1784
|
+
}
|
|
1785
|
+
|
|
1786
|
+
namespace internal {
|
|
1787
|
+
template <typename T>
|
|
1788
|
+
inline void CheckIndexInBoundsOrAbort(const RepeatedField<T>& field,
|
|
1789
|
+
int index) {
|
|
1790
|
+
if (ABSL_PREDICT_FALSE(index < 0 || index >= field.size())) {
|
|
1791
|
+
LogIndexOutOfBoundsAndAbort(index, field.size());
|
|
1792
|
+
}
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
template <typename T>
|
|
1796
|
+
const T& CheckedGetOrAbort(const RepeatedField<T>& field, int index) {
|
|
1797
|
+
CheckIndexInBoundsOrAbort(field, index);
|
|
1798
|
+
return field.Get(index);
|
|
1799
|
+
}
|
|
1800
|
+
|
|
1801
|
+
template <typename T>
|
|
1802
|
+
inline T* CheckedMutableOrAbort(RepeatedField<T>* field, int index) {
|
|
1803
|
+
CheckIndexInBoundsOrAbort(*field, index);
|
|
1804
|
+
return field->Mutable(index);
|
|
1805
|
+
}
|
|
1806
|
+
} // namespace internal
|
|
1807
|
+
|
|
1808
|
+
|
|
1809
|
+
} // namespace protobuf
|
|
1810
|
+
} // namespace google
|
|
1811
|
+
|
|
1812
|
+
#include "google/protobuf/port_undef.inc"
|
|
1813
|
+
|
|
1814
|
+
#endif // GOOGLE_PROTOBUF_REPEATED_FIELD_H__
|