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
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.
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.