pub enum VMReaderType {
    Stdin,
    File,
    Mock,
    Unknown,
}
Expand description

Allowable types of VMReader

This enum is used to determine the type of VMReader that is being used.

The currently supported types are:

Examples

use brainfoamkit_lib::{
    VMReader,
    VMReaderType,
};
use tempfile::NamedTempFile;

let stdin = std::io::stdin();
let temp_file = NamedTempFile::new().unwrap();
let file = temp_file.reopen().unwrap();
let mock = brainfoamkit_lib::MockReader {
    data: std::io::Cursor::new("A".as_bytes().to_vec()),
};

assert_eq!(stdin.get_vmreader_type(), VMReaderType::Stdin);
assert_eq!(file.get_vmreader_type(), VMReaderType::File);
assert_eq!(mock.get_vmreader_type(), VMReaderType::Mock);

See Also

Variants§

§

Stdin

The standard input device as implemented by the std::io::Stdin struct

§

File

A file as implemented by the std::fs::File struct

§

Mock

A mock reader as implemented by the MockReader struct

§

Unknown

The default type of VMReader

Trait Implementations§

source§

impl Debug for VMReaderType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for VMReaderType

source§

fn eq(&self, other: &VMReaderType) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for VMReaderType

source§

impl StructuralEq for VMReaderType

source§

impl StructuralPartialEq for VMReaderType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.