summaryrefslogtreecommitdiffstats
path: root/vendor/bstr-0.2.17/examples
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:21 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:21 +0000
commit4e8199b572f2035b7749cba276ece3a26630d23e (patch)
treef09feeed6a0fe39d027b1908aa63ea6b35e4b631 /vendor/bstr-0.2.17/examples
parentAdding upstream version 1.66.0+dfsg1. (diff)
downloadrustc-4e8199b572f2035b7749cba276ece3a26630d23e.tar.xz
rustc-4e8199b572f2035b7749cba276ece3a26630d23e.zip
Adding upstream version 1.67.1+dfsg1.upstream/1.67.1+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/bstr-0.2.17/examples')
-rw-r--r--vendor/bstr-0.2.17/examples/graphemes-std.rs25
-rw-r--r--vendor/bstr-0.2.17/examples/graphemes.rs22
-rw-r--r--vendor/bstr-0.2.17/examples/lines-std.rs17
-rw-r--r--vendor/bstr-0.2.17/examples/lines.rs17
-rw-r--r--vendor/bstr-0.2.17/examples/uppercase-std.rs15
-rw-r--r--vendor/bstr-0.2.17/examples/uppercase.rs18
-rw-r--r--vendor/bstr-0.2.17/examples/words-std.rs18
-rw-r--r--vendor/bstr-0.2.17/examples/words.rs15
8 files changed, 147 insertions, 0 deletions
diff --git a/vendor/bstr-0.2.17/examples/graphemes-std.rs b/vendor/bstr-0.2.17/examples/graphemes-std.rs
new file mode 100644
index 000000000..647739d4a
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/graphemes-std.rs
@@ -0,0 +1,25 @@
+use std::error::Error;
+use std::io::{self, BufRead, Write};
+
+use unicode_segmentation::UnicodeSegmentation;
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdin = stdin.lock();
+ let mut stdout = io::BufWriter::new(io::stdout());
+
+ let mut line = String::new();
+ while stdin.read_line(&mut line)? > 0 {
+ let end = line
+ .grapheme_indices(true)
+ .map(|(start, g)| start + g.len())
+ .take(10)
+ .last()
+ .unwrap_or(line.len());
+ stdout.write_all(line[..end].trim_end().as_bytes())?;
+ stdout.write_all(b"\n")?;
+
+ line.clear();
+ }
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/graphemes.rs b/vendor/bstr-0.2.17/examples/graphemes.rs
new file mode 100644
index 000000000..6adc7019d
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/graphemes.rs
@@ -0,0 +1,22 @@
+use std::error::Error;
+use std::io::{self, Write};
+
+use bstr::{io::BufReadExt, ByteSlice};
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdout = io::BufWriter::new(io::stdout());
+
+ stdin.lock().for_byte_line_with_terminator(|line| {
+ let end = line
+ .grapheme_indices()
+ .map(|(_, end, _)| end)
+ .take(10)
+ .last()
+ .unwrap_or(line.len());
+ stdout.write_all(line[..end].trim_end())?;
+ stdout.write_all(b"\n")?;
+ Ok(true)
+ })?;
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/lines-std.rs b/vendor/bstr-0.2.17/examples/lines-std.rs
new file mode 100644
index 000000000..69fc6a586
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/lines-std.rs
@@ -0,0 +1,17 @@
+use std::error::Error;
+use std::io::{self, BufRead, Write};
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdin = stdin.lock();
+ let mut stdout = io::BufWriter::new(io::stdout());
+
+ let mut line = String::new();
+ while stdin.read_line(&mut line)? > 0 {
+ if line.contains("Dimension") {
+ stdout.write_all(line.as_bytes())?;
+ }
+ line.clear();
+ }
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/lines.rs b/vendor/bstr-0.2.17/examples/lines.rs
new file mode 100644
index 000000000..c392a2229
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/lines.rs
@@ -0,0 +1,17 @@
+use std::error::Error;
+use std::io::{self, Write};
+
+use bstr::{io::BufReadExt, ByteSlice};
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdout = io::BufWriter::new(io::stdout());
+
+ stdin.lock().for_byte_line_with_terminator(|line| {
+ if line.contains_str("Dimension") {
+ stdout.write_all(line)?;
+ }
+ Ok(true)
+ })?;
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/uppercase-std.rs b/vendor/bstr-0.2.17/examples/uppercase-std.rs
new file mode 100644
index 000000000..672bd7171
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/uppercase-std.rs
@@ -0,0 +1,15 @@
+use std::error::Error;
+use std::io::{self, BufRead, Write};
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdin = stdin.lock();
+ let mut stdout = io::BufWriter::new(io::stdout());
+
+ let mut line = String::new();
+ while stdin.read_line(&mut line)? > 0 {
+ stdout.write_all(line.to_uppercase().as_bytes())?;
+ line.clear();
+ }
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/uppercase.rs b/vendor/bstr-0.2.17/examples/uppercase.rs
new file mode 100644
index 000000000..1eb798a34
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/uppercase.rs
@@ -0,0 +1,18 @@
+use std::error::Error;
+use std::io::{self, Write};
+
+use bstr::{io::BufReadExt, ByteSlice};
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdout = io::BufWriter::new(io::stdout());
+
+ let mut upper = vec![];
+ stdin.lock().for_byte_line_with_terminator(|line| {
+ upper.clear();
+ line.to_uppercase_into(&mut upper);
+ stdout.write_all(&upper)?;
+ Ok(true)
+ })?;
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/words-std.rs b/vendor/bstr-0.2.17/examples/words-std.rs
new file mode 100644
index 000000000..aeeeb26ff
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/words-std.rs
@@ -0,0 +1,18 @@
+use std::error::Error;
+use std::io::{self, BufRead};
+
+use unicode_segmentation::UnicodeSegmentation;
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut stdin = stdin.lock();
+
+ let mut words = 0;
+ let mut line = String::new();
+ while stdin.read_line(&mut line)? > 0 {
+ words += line.unicode_words().count();
+ line.clear();
+ }
+ println!("{}", words);
+ Ok(())
+}
diff --git a/vendor/bstr-0.2.17/examples/words.rs b/vendor/bstr-0.2.17/examples/words.rs
new file mode 100644
index 000000000..db305da0d
--- /dev/null
+++ b/vendor/bstr-0.2.17/examples/words.rs
@@ -0,0 +1,15 @@
+use std::error::Error;
+use std::io;
+
+use bstr::{io::BufReadExt, ByteSlice};
+
+fn main() -> Result<(), Box<dyn Error>> {
+ let stdin = io::stdin();
+ let mut words = 0;
+ stdin.lock().for_byte_line_with_terminator(|line| {
+ words += line.words().count();
+ Ok(true)
+ })?;
+ println!("{}", words);
+ Ok(())
+}