#![no_std]
#![forbid(unsafe_code)]
extern crate alloc;
#[cfg(test)]
extern crate std;
pub mod arena;
pub mod change;
pub mod error;
pub mod id;
pub mod index;
pub mod observer;
pub mod reference;
pub mod snapshot;
pub mod txn;
pub mod walk;
pub use arena::{Arena, Id};
pub use change::{Change, Changeset, FieldTag, FieldValue, NodeKindTag, RefState};
pub use error::AstCoreError;
pub use id::{IdAllocator, IdSpace, NodeId};
pub use index::{Index, IndexLookup};
pub use observer::{AstObserver, ObserverRegistry, ObserverToken};
pub use reference::{
BreakCause, PendingRef, Ref, RepositoryId, RosInterfaceKind, RosTypeName, ScopedName,
TypeIdentifierKey, XmlRefKey,
};
pub use snapshot::{SNAPSHOT_MAGIC, SNAPSHOT_VERSION, SnapshotReader, SnapshotWriter};
pub use txn::{TxnLog, UndoPayload, UndoRecord, Undoable};
pub use walk::{VisitSet, WalkOrder, reachable, walk_graph};