babbel_yaml 0.1.1

Fast, modular YAML 1.2 parser and emitter with anchors, aliases, and tags
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Shared streaming I/O traits powered by `babbel_core`.

/// Interface for sequential character reading from an input source, powered by `babbel_core`.
pub use babbel_core::io::traits::ISource as ICharStream;
/// Interface for snapshotting and restoring stream read state, powered by `babbel_core`.
pub use babbel_core::io::traits::IStatefulStream;
/// Interface for indentation-aware stream validation, powered by `babbel_core`.
pub use babbel_core::io::traits::IIndentationAware;
/// Concrete save/restore snapshot used by all ISource implementations, powered by `babbel_core`.
pub use babbel_core::io::traits::SaveState;

/// Composite source trait combining character streaming, state snapshots, and indentation tracking.
pub trait ISource: ICharStream + IStatefulStream + IIndentationAware {}

impl<T: ICharStream + IStatefulStream + IIndentationAware + ?Sized> ISource for T {}

/// Trait defining the interface for writing YAML data to a destination, powered by `babbel_core`.
pub use babbel_core::io::traits::IDestination;