Struct PivotByLineContext

Source
pub struct PivotByLineContext { /* private fields */ }
Expand description

Context used by methods requiring pivot. Loads cover text line by line, uses pivot and does not preserve original whitespace. It also exposes the word iterator for purpose of peeking and/or traversing.

Implementations§

Source§

impl PivotByLineContext

Source

pub fn new(cover_text: &str, pivot: usize) -> Self

Source

pub fn get_pivot(&self) -> usize

Source

pub fn peek_word(&mut self) -> Option<String>

Source

pub fn next_word(&mut self) -> Option<String>

Trait Implementations§

Source§

impl Context for PivotByLineContext

Source§

fn get_current_text_mut(&mut self) -> Result<&mut String, ContextError>

Gets currently loaded cover text fragment mutably. Read more
Source§

fn get_current_text(&self) -> Result<&String, ContextError>

Gets currently loaded cover text fragment as read-only. Read more
Source§

fn load_text(&mut self) -> Result<&str, ContextError>

Loads next cover text fragment. Read more
Source§

impl Encoder<PivotByLineContext> for ELUVMethod

Source§

fn partial_encode( &self, context: &mut PivotByLineContext, data: &mut dyn Iterator<Item = Bit>, ) -> Result<EncoderResult, Box<dyn Error>>

Encodes bits provided by data iterator. Every Encoder has Context which exposes access to cover text. See Context for more info. Read more
Source§

fn encode( &self, context: &mut E, data: &mut dyn Iterator<Item = Bit>, progress_channel: Option<&Sender<ProgressStatus>>, ) -> Result<String, Box<dyn Error>>

Source§

impl Encoder<PivotByLineContext> for ExtendedLineMethod

Source§

fn partial_encode( &self, context: &mut PivotByLineContext, data: &mut dyn Iterator<Item = Bit>, ) -> Result<EncoderResult, Box<dyn Error>>

Encodes bits provided by data iterator. Every Encoder has Context which exposes access to cover text. See Context for more info. Read more
Source§

fn encode( &self, context: &mut E, data: &mut dyn Iterator<Item = Bit>, progress_channel: Option<&Sender<ProgressStatus>>, ) -> Result<String, Box<dyn Error>>

Source§

impl Encoder<PivotByLineContext> for LineExtendMethod

Source§

fn partial_encode( &self, context: &mut PivotByLineContext, data: &mut dyn Iterator<Item = Bit>, ) -> Result<EncoderResult, Box<dyn Error>>

Encodes bits provided by data iterator. Every Encoder has Context which exposes access to cover text. See Context for more info. Read more
Source§

fn encode( &self, context: &mut E, data: &mut dyn Iterator<Item = Bit>, progress_channel: Option<&Sender<ProgressStatus>>, ) -> Result<String, Box<dyn Error>>

Source§

impl Method<PivotByLineContext, PivotByRawLineContext> for ELUVMethod

Source§

impl Method<PivotByLineContext, PivotByRawLineContext> for ExtendedLineMethod

Source§

impl Method<PivotByLineContext, PivotByRawLineContext> for LineExtendMethod

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>,

Source§

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>,

Source§

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V