1 Commits

Author SHA1 Message Date
warrence 8f9f0bf4c8 Add language tag to readme example code for syntax highlighting 2026-07-17 11:21:31 +02:00
6 changed files with 18 additions and 9 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "grapherity"
version = "0.2.3"
version = "0.2.2"
authors = ["Stefan Müller"]
edition = "2024"
rust-version = "1.85.0"
+1 -1
View File
@@ -15,7 +15,7 @@ For more information, see the [documentation](https://docs.rs/grapherity/latest/
## Example
```
```rust
// Brings commonly used traits into scope.
use grapherity::prelude::*;
use grapherity::models::Graph;
+3 -1
View File
@@ -127,13 +127,15 @@
//! [`GraphTopology::Vertex`]: crate::traits::GraphTopology::Vertex
//! [`GraphTopologyDeletion`]: crate::traits::GraphTopologyDeletion
#![warn(missing_docs)]
pub mod algorithms;
pub mod maps;
pub mod models;
pub mod traits;
pub mod prelude {
pub use crate::traits::{GraphTopology, GraphTopologyDeletion, IncidenceCursor};
pub use crate::traits::{GraphTopology, GraphTopologyDeletion};
}
mod testing;
+10
View File
@@ -18,6 +18,11 @@ impl<V: Copy, T: Clone> VertexMap<V, T> {
self.inner.capacity()
}
#[deprecated(since = "0.2.2", note = "use 'capacity' instead")]
pub fn len(&self) -> usize {
self.capacity()
}
pub fn sync<G: GraphTopology<Vertex = V>>(&mut self, graph: &G) {
self.inner.resize(graph.vertex_capacity());
}
@@ -53,6 +58,11 @@ impl<E: Copy, T: Clone> EdgeMap<E, T> {
self.inner.capacity()
}
#[deprecated(since = "0.2.2", note = "use 'capacity' instead")]
pub fn len(&self) -> usize {
self.capacity()
}
pub fn sync<G: GraphTopology<Edge = E>>(&mut self, graph: &G) {
self.inner.resize(graph.edge_capacity());
}
+1 -1
View File
@@ -91,7 +91,7 @@ impl GraphTopology for AppendGraph {
}
fn vertex_capacity(&self) -> usize {
self.vertices.capacity()
self.vertices.len()
}
fn vertex_map<T: Clone>(&self, default: T) -> VertexMap<Self::Vertex, T> {
+2 -5
View File
@@ -38,7 +38,7 @@ pub trait GraphTopology {
/// when an algorithm needs to pause traversal, perform other graph queries or mutations, and
/// then continue from where it left off. This cursor type can be obtained via
/// [`incidence_cursor`](Self::incidence_cursor).
type IncidenceCursor: IncidenceCursor<Self>;
type IncidenceCursor: IncidenceCursor<Self> + Copy;
/// Returns the number of vertices in the graph.
fn vertex_count(&self) -> usize;
@@ -210,13 +210,10 @@ pub trait GraphTopologyDeletion: GraphTopology {
/// A cursor for traversing the incidences of a vertex one step at a time.
///
/// Because the cursor is [`Copy`], its state can be saved and restored to replay or branch a
/// traversal.
///
/// Cursors are obtained via [`GraphTopology::incidence_cursor`]. See
/// [`GraphTopology::IncidenceCursor`] for guidance on when to prefer a cursor over
/// [`GraphTopology::incidences`].
pub trait IncidenceCursor<G: GraphTopology + ?Sized>: Copy {
pub trait IncidenceCursor<G: GraphTopology + ?Sized> {
/// Advances the cursor and returns the next incidence as `Some((u, e))`, or `None` if the
/// traversal is exhausted.
///