Struct rustc_serialize::json::Stack
source · [−]pub struct Stack {
stack: Vec<InternalStackElement>,
str_buffer: Vec<u8>,
}Expand description
A Stack represents the current position of the parser in the logical structure of the JSON stream.
An example is foo.bar[3].x.
Fields
stack: Vec<InternalStackElement>str_buffer: Vec<u8>Implementations
sourceimpl Stack
impl Stack
pub fn new() -> Stack
sourcepub fn get(&self, idx: usize) -> StackElement<'_>
pub fn get(&self, idx: usize) -> StackElement<'_>
Provides access to the StackElement at a given index. lower indices are at the bottom of the stack while higher indices are at the top.
sourcepub fn is_equal_to(&self, rhs: &[StackElement<'_>]) -> bool
pub fn is_equal_to(&self, rhs: &[StackElement<'_>]) -> bool
Compares this stack with an array of StackElement<’_>s.
sourcepub fn starts_with(&self, rhs: &[StackElement<'_>]) -> bool
pub fn starts_with(&self, rhs: &[StackElement<'_>]) -> bool
Returns true if the bottom-most elements of this stack are the same as
the ones passed as parameter.
sourcepub fn ends_with(&self, rhs: &[StackElement<'_>]) -> bool
pub fn ends_with(&self, rhs: &[StackElement<'_>]) -> bool
Returns true if the top-most elements of this stack are the same as
the ones passed as parameter.
sourcepub fn top(&self) -> Option<StackElement<'_>>
pub fn top(&self) -> Option<StackElement<'_>>
Returns the top-most element (if any).
fn push_key(&mut self, key: String)
fn push_index(&mut self, index: u32)
fn pop(&mut self)
fn last_is_index(&self) -> bool
fn bump_index(&mut self)
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Stack
impl Send for Stack
impl Sync for Stack
impl Unpin for Stack
impl UnwindSafe for Stack
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes