Skip to main content

AlignData

Struct AlignData 

Source
pub struct AlignData<T: Token, D: TeXDimen> {
    pub token: T,
    pub ingroups: u8,
    pub currindex: usize,
    pub repeat_index: Option<usize>,
    pub columns: Box<[AlignColumn<T, D>]>,
    pub omit: bool,
    pub span: bool,
    pub inner_mode: BoxType,
    pub outer_mode: BoxType,
}
Expand description

Data structure for a currently open \halign (or \valign)

Fields§

§token: T§ingroups: u8

The number of braces that are currently open

§currindex: usize

The index of the current column (or row)

§repeat_index: Option<usize>

The index of the column (or row) to be repeated, if the number of columns (or rows) in a particular row exceeds the number of columns (or rows) in the template

§columns: Box<[AlignColumn<T, D>]>

The columns (or rows) of the template

§omit: bool

Whether the current column (or row) should omit the template

§span: bool

Whether the current column (or row) spans across the next column (or rows)

§inner_mode: BoxType

The mode of the current column (or row); this is either BoxType::Horizontal for an \halign or BoxType::Vertical for a \valign

§outer_mode: BoxType

The mode between rows (or columns); this is either BoxType::Vertical for an \halign or BoxType::Horizontal for a \valign

Implementations§

Source§

impl<T: Token, D: TeXDimen> AlignData<T, D>

Source

pub fn groupval(&self) -> u8

the number of open braces at which an AlignmentTab Token (or a \cr) should cause the template tokens to be inserted into the input stream

Source

pub fn check_token(&mut self, t: &T) -> Option<bool>

Source

pub fn dummy() -> Self

A dummy AlignData that makes sure that AlignmentTab Tokens (and \crs) are not replaced by a template; can be pushed to the Gullet at the begin of an \halign (or \valign) before the template is fully processed to avoid already open AlignDatas to be used.

Source

pub fn on_alignment_tab<ET: EngineTypes<Token = T, Dim = D>>( &self, mouth: &mut ET::Mouth, aux: &mut EngineAux<ET>, ) -> T

Push the end-template tokens of the current column (or row) to the Mouth; this is called when an AlignmentTab Token (or a \span) is encountered and the number of currently open braces matches the current column’s inbraces value.

Source

pub fn on_cr<ET: EngineTypes<Token = T, Dim = D>>( &self, mouth: &mut ET::Mouth, aux: &mut EngineAux<ET>, state: &ET::State, ) -> T

Push the end-template tokens of the current column (or row) to the Mouth and insert \everycr; this is called when a \cr or \crcr is encountered and the number of currently open braces matches the current column’s inbraces value.

Auto Trait Implementations§

§

impl<T, D> Freeze for AlignData<T, D>
where T: Freeze,

§

impl<T, D> RefUnwindSafe for AlignData<T, D>

§

impl<T, D> Send for AlignData<T, D>
where T: Send, D: Send,

§

impl<T, D> Sync for AlignData<T, D>
where T: Sync, D: Sync,

§

impl<T, D> Unpin for AlignData<T, D>
where T: Unpin,

§

impl<T, D> UnsafeUnpin for AlignData<T, D>
where T: UnsafeUnpin,

§

impl<T, D> UnwindSafe for AlignData<T, D>
where T: UnwindSafe, D: UnwindSafe,

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<ET, Err, A> IntoErr<ET, Err> for A
where ET: EngineTypes, Err: From<A>,

Source§

fn into_err( self, _aux: &EngineAux<ET>, _state: &<ET as EngineTypes>::State, ) -> Err

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more