| Crates.io | function_string_builder |
| lib.rs | function_string_builder |
| version | 1.0.3 |
| created_at | 2023-05-13 20:48:51.210733+00 |
| updated_at | 2023-05-14 07:48:07.678131+00 |
| description | A string builder that takes a user-provided function |
| homepage | |
| repository | |
| max_upload_size | |
| id | 863925 |
| size | 3,159 |
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.
assert_eq!(
build(|mut collector| {
collector.collect("a");
collector.collect("bcd");
collector.collect("ef");
}),
"abcdef"
);