Replace `ABSL_ATTRIBUTE_UNUSED`:

* With commented-out parameter name if it applies to a function parameter which
  is never used. This is more idiomatic and shorter.

* With `[[maybe_unused]]` otherwise, i.e. the parameter is used conditionally
  (due to `if constexpr`, possibly empty variadic expansion, or `#if`) or the
  name is something other than a function parameter.

The parameter name is still skipped altogether when the parameter is never used
to pass a value but e.g. disambiguates overloads (`operator++(int)`,
`std::in_place_t`), specifies a type where an explicit template parameter
would not work, or introduces template parameters through
`std::index_sequence<indices...>`.

Replace `ABSL_ATTRIBUTE_NORETURN` with `[[noreturn]]`. It is available since
C++11.

Replace `ABSL_FALLTHROUGH_INTENDED` with `[[fallthrough]]`. It is available
since C++17.

Attribute macros for non-standard and thus non-portable attributes remain.

PiperOrigin-RevId: 912676701
61 files changed
tree: 4bc3ad048bdd4cb6aa2d5226b1ec9f95ae6b3254
  1. doc/
  2. python/
  3. riegeli/
  4. tf_dependency/
  5. .bazelrc
  6. configure
  7. CONTRIBUTING.md
  8. LICENSE
  9. MANIFEST.in
  10. MODULE.bazel
  11. README.md
README.md

Riegeli

Riegeli/records is a file format for storing a sequence of string records, typically serialized protocol buffers. It supports dense compression, fast decoding, seeking, detection and optional skipping of data corruption, filtering of proto message fields for even faster decoding, and parallel encoding.

See documentation.

Status

Riegeli file format will only change in a backward compatible way (i.e. future readers will understand current files, but current readers might not understand files using future features).

Riegeli C++ API might change in incompatible ways.