summaryrefslogtreecommitdiff
path: root/src/scanner.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/scanner.rs')
-rw-r--r--src/scanner.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/scanner.rs b/src/scanner.rs
index f947205..f2c4a2d 100644
--- a/src/scanner.rs
+++ b/src/scanner.rs
@@ -111,3 +111,24 @@ impl Scanner {
Some(i)
}
}
+
+impl From<&str> for Scanner {
+ fn from(value: &str) -> Self {
+ Self::new(value)
+ }
+}
+
+impl From<Box<[char]>> for Scanner {
+ fn from(value: Box<[char]>) -> Self {
+ Self {
+ source: value,
+ position: 0,
+ }
+ }
+}
+
+impl AsRef<[char]> for Scanner {
+ fn as_ref(&self) -> &[char] {
+ &self.source
+ }
+}