function_string_builder 1.0.3

A string builder that takes a user-provided function
Documentation
  • Coverage
  • 0%
    0 out of 4 items documented0 out of 3 items with examples
  • Size
  • Source code size: 2.85 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 252.6 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • megahomyak

A new approach to building strings

Instead of maintaining a buffer, this thing minimizes the amount of allocations by calling the user-provided function two times: the first time it sums the lengths of the strings returned using a callback by the function, the second time it pushes said strings into a String that was extended using the lengths sum.

Such approach is aimed at minimizing the amount and size of allocations as much as possible.

An example

assert_eq!(
    build(|mut collector| {
        collector.collect("a");
        collector.collect("bcd");
        collector.collect("ef");
    }),
    "abcdef"
);