Skip to main content

Crate zerodds_ast_core

Crate zerodds_ast_core 

Source
Expand description

Crate zerodds-ast-core. Safety classification: SAFE.

Generic infrastructure for the common AST: generational arenas with typed handles, stable node identity, three-valued references, undo-logged transactions with changeset emission, observers, cycle-safe traversal, incremental indices and a deterministic snapshot codec.

This crate knows nothing about DDS, IDL or wire formats. The model itself lives in zerodds-ast, wire layout in zerodds-ast-layout.

§Spec

  • docs/specs/zerodds-ast-1.0.md §1 (storage and identity), §2 (references), §5 (transactions and events), §6 (traversal), §9 (snapshot), §10 (error model).

§Layer position

Layer 0 — no dependencies. Direct dependents: zerodds-ast, zerodds-ast-layout.

Re-exports§

pub use arena::Arena;
pub use arena::Id;
pub use change::Change;
pub use change::Changeset;
pub use change::FieldTag;
pub use change::FieldValue;
pub use change::NodeKindTag;
pub use change::RefState;
pub use error::AstCoreError;
pub use id::IdAllocator;
pub use id::IdSpace;
pub use id::NodeId;
pub use index::Index;
pub use index::IndexLookup;
pub use observer::AstObserver;
pub use observer::ObserverRegistry;
pub use observer::ObserverToken;
pub use reference::BreakCause;
pub use reference::PendingRef;
pub use reference::Ref;
pub use reference::RepositoryId;
pub use reference::RosInterfaceKind;
pub use reference::RosTypeName;
pub use reference::ScopedName;
pub use reference::TypeIdentifierKey;
pub use reference::XmlRefKey;
pub use snapshot::SNAPSHOT_MAGIC;
pub use snapshot::SNAPSHOT_VERSION;
pub use snapshot::SnapshotReader;
pub use snapshot::SnapshotWriter;
pub use txn::TxnLog;
pub use txn::UndoPayload;
pub use txn::UndoRecord;
pub use txn::Undoable;
pub use walk::VisitSet;
pub use walk::WalkOrder;
pub use walk::reachable;
pub use walk::walk_graph;

Modules§

arena
Generational arena with typed handles. Spec §1.1.
change
Changes and changesets. Spec §5.2.
error
Error type for the AST core infrastructure. Spec §10.
id
Stable node identity. Spec §1.2.
index
Changeset-driven indices. Spec §6.
observer
Change observers. Spec §5.3.
reference
Three-valued references. Spec §2.
snapshot
Deterministic snapshot primitives. Spec §9.
txn
Undo-logged transactions. Spec §5.1.
walk
Cycle-safe traversal. Spec §6.