pub struct Loader<'input> {
pub parser: Option<Parser<'input>>,
pub parsed_document_count: usize,
}
Expand description
Represents a YAML loader.
Fields§
§parser: Option<Parser<'input>>
The YAML parser used to parse the input.
The Parser
type is defined in the libyml
module and represents
a low-level YAML parser.
The 'input
lifetime parameter indicates the lifetime of the input data
being parsed. It ensures that the Loader
does not outlive the input data.
parsed_document_count: usize
The count of documents parsed by the loader.
This field keeps track of the number of YAML documents encountered during parsing.
Implementations§
source§impl<'input> Loader<'input>
impl<'input> Loader<'input>
sourcepub fn new(progress: Progress<'input>) -> Result<Self>
pub fn new(progress: Progress<'input>) -> Result<Self>
Constructs a new Loader
instance from the given progress.
§Arguments
progress
- The progress representing the YAML input.
§Errors
Returns an error if there is an issue reading the input.
§Examples
use serde_yml::loader::Loader;
use serde_yml::de::Progress;
let input = "---\nkey: value";
let progress = Progress::Str(input);
let loader_result = Loader::new(progress);
assert!(loader_result.is_ok());
sourcepub fn next_document(&mut self) -> Option<Document<'input>>
pub fn next_document(&mut self) -> Option<Document<'input>>
Advances the loader to the next document and returns it.
§Returns
Returns Some(Document)
if a document is successfully parsed, or None
if there are no more documents.
§Examples
use serde_yml::loader::{Loader, Document};
use serde_yml::de::Progress;
let input = "---\nkey: value";
let progress = Progress::Str(input);
let mut loader = Loader::new(progress).unwrap();
let document = loader.next_document().unwrap();
assert_eq!(document.events.len(), 4);
Trait Implementations§
Auto Trait Implementations§
impl<'input> Freeze for Loader<'input>
impl<'input> RefUnwindSafe for Loader<'input>
impl<'input> !Send for Loader<'input>
impl<'input> !Sync for Loader<'input>
impl<'input> Unpin for Loader<'input>
impl<'input> UnwindSafe for Loader<'input>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more