[][src]Struct text_reader::TextReader

pub struct TextReader { /* fields omitted */ }

Methods

impl TextReader[src]

Text character reader.

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
while reader.has_next() {
  let ch = reader.next();
  println!("{:?}", ch);
  if let Some('\n') = ch {
    println!("{:?}", reader.this_line());
  }
}
println!("{:?}", reader.this_line());

pub fn new<S: AsRef<OsStr>>(text: S) -> TextReader[src]

pub fn detector(&mut self) -> Detector[src]

Detect possible strings

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let mut detector = reader.detector();

pub fn reset(&mut self) -> &mut TextReader[src]

Reset to first character

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let reader = reader.reset();

pub fn peek(&self) -> Option<char>[src]

Peek current character

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let ch = reader.peek();

pub fn next(&mut self) -> Option<char>[src]

Next character

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let ch = reader.next();

pub fn position(&self) -> usize[src]

Position of text

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let position = reader.position();

pub fn line(&self) -> usize[src]

Current text line number

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let line = reader.line();

pub fn cursor(&self) -> usize[src]

Current line position

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
reader.next();
reader.next();
reader.next();
reader.next();
let cursor = reader.cursor();
println!("CURSOR: {}", cursor); // 2

pub fn len(&self) -> usize[src]

Text length

Examples

use text_reader::TextReader;
let reader = TextReader::new("abc\ndef");
let len = reader.len();

pub fn back(&mut self) -> &mut TextReader[src]

Back to previous character

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
reader.back();

pub fn this_line(&mut self) -> Option<String>[src]

Current line string

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
let line_text = reader.this_line();

pub fn has_next(&self) -> bool[src]

Has next character

Examples

use text_reader::TextReader;
let mut reader = TextReader::new("abc\ndef");
while  reader.has_next(){
   let ch = reader.next();
}

Trait Implementations

impl Debug for TextReader[src]

Auto Trait Implementations

impl Send for TextReader

impl Sync for TextReader

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]