Provide means for containers where newly allocated elements of trivially-constructible types are left uninitialized: * `UninitializedAllocator` * `UninitializedVector`, which is `std::vector` with `UninitializedAllocator` * `UninitializedInlinedVector`, which is `absl::InlinedVector` with `UninitializedAllocator` Add `VectorWriter` for `std::vector` including `UninitializedVector`, `absl::InlinedVector` including `UninitializedInlinedVector`, and similar types. Like `CompactStringWriter`, `VectorWriter` can be more efficient than `StringWriter` when the destination can be resized with uninitialized space. `VectorResizableTraits` is generalized from `std::vector` to similar types. The template parameter is the whole vector type rather than the element type and the allocator separately. PiperOrigin-RevId: 866537234
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.