aboutsummaryrefslogtreecommitdiff
path: root/src/encoded_string.rs
diff options
context:
space:
mode:
authorThe Depressed Milkman <github@tdmm.eu> 2022-11-07 20:14:46 +0100
committerThomas Voss <mail@thomasvoss.com> 2022-11-16 13:44:19 +0100
commit33c663172bd472e043f0b453d2d45c50699ff628 (patch)
treed5fff72a045bcd7fa37038bf95d92dd72cc581eb /src/encoded_string.rs
parent8a7054ef7a7c7a6f1ccd507e6921f69c07abfeec (diff)
Decrease number of heap allocations, and more
Sent over the course of 2 diffs, no real functionality changes, but a couple general code improvements. The second email reads: > string encoding/decoding has been rewritten. The duplicate_elements() > function no longer allocates like crazy. The try_move() and do_move() > functions still need work, but have not been touched because they will > likely be rewritten shortly.
Diffstat (limited to 'src/encoded_string.rs')
-rw-r--r--src/encoded_string.rs26
1 files changed, 0 insertions, 26 deletions
diff --git a/src/encoded_string.rs b/src/encoded_string.rs
deleted file mode 100644
index 55090a9..0000000
--- a/src/encoded_string.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-use std::str;
-
-pub struct EncodedString<'a> {
- pub s: str::Bytes<'a>,
-}
-
-impl<'a> Iterator for EncodedString<'a> {
- type Item = u8;
-
- fn next(&mut self) -> Option<Self::Item> {
- self.s.next().map(|c| match c {
- b'\\' => match self.s.next() {
- Some(b'n') => b'\n',
- Some(b'\\') | None => b'\\',
- Some(c) => c
- },
- c => c
- })
- }
-}
-
-impl<'a> EncodedString<'a> {
- pub fn decode(self) -> String {
- String::from_utf8(self.s.collect()).unwrap()
- }
-}