Crates.io | function_string_builder |
lib.rs | function_string_builder |
version | 1.0.3 |
source | src |
created_at | 2023-05-13 20:48:51.210733 |
updated_at | 2023-05-14 07:48:07.678131 |
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"
);