Replace VertexMap/EdgeMap.len with capacity
Rename EdgeMap.len to capacity. Add VertexMap.capacity and EdgeMap.capacity. Deprecate VertexMap.len and EdgeMap.len.
This commit is contained in:
+17
-6
@@ -13,11 +13,17 @@ impl<V: Copy, T: Clone> VertexMap<V, T> {
|
||||
}
|
||||
}
|
||||
|
||||
// Reads beyond len() are valid and return the default value.
|
||||
pub fn len(&self) -> usize {
|
||||
self.inner.len()
|
||||
// Reads beyond 'capacity' are valid and return the default value.
|
||||
pub fn capacity(&self) -> usize {
|
||||
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());
|
||||
}
|
||||
@@ -48,9 +54,14 @@ impl<E: Copy, T: Clone> EdgeMap<E, T> {
|
||||
}
|
||||
}
|
||||
|
||||
// Reads beyond len() are valid and return the default value.
|
||||
// Reads beyond 'capacity' are valid and return the default value.
|
||||
pub fn capacity(&self) -> usize {
|
||||
self.inner.capacity()
|
||||
}
|
||||
|
||||
#[deprecated(since = "0.2.2", note = "use 'capacity' instead")]
|
||||
pub fn len(&self) -> usize {
|
||||
self.inner.len()
|
||||
self.capacity()
|
||||
}
|
||||
|
||||
pub fn sync<G: GraphTopology<Edge = E>>(&mut self, graph: &G) {
|
||||
@@ -87,7 +98,7 @@ impl<E: Copy, T: Clone> EntityMap<E, T> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn len(&self) -> usize {
|
||||
pub fn capacity(&self) -> usize {
|
||||
self.data.len()
|
||||
}
|
||||
|
||||
|
||||
+10
-10
@@ -53,16 +53,16 @@ macro_rules! vertex_map_tests {
|
||||
let mut graph = <$T>::new();
|
||||
graph.add_vertex();
|
||||
let mut map = graph.vertex_map(42);
|
||||
let initial_len = map.len();
|
||||
while graph.vertex_capacity() <= initial_len {
|
||||
let capacity_before = map.capacity();
|
||||
while graph.vertex_capacity() <= capacity_before {
|
||||
graph.add_vertex();
|
||||
}
|
||||
assert!(
|
||||
map.len() < graph.vertex_capacity(),
|
||||
map.capacity() < graph.vertex_capacity(),
|
||||
"precondition: map is stale before sync"
|
||||
);
|
||||
map.sync(&graph);
|
||||
assert_eq!(map.len(), graph.vertex_capacity());
|
||||
assert_eq!(map.capacity(), graph.vertex_capacity());
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -109,7 +109,7 @@ macro_rules! vertex_map_deletion_tests {
|
||||
let capacity_before = graph.vertex_capacity();
|
||||
graph.delete_vertex(v2);
|
||||
map.sync(&graph);
|
||||
assert_eq!(map.len(), capacity_before);
|
||||
assert_eq!(map.capacity(), capacity_before);
|
||||
assert_eq!(map[v1], 5);
|
||||
}
|
||||
|
||||
@@ -197,16 +197,16 @@ macro_rules! edge_map_tests {
|
||||
let v2 = graph.add_vertex();
|
||||
graph.add_edge(v1, v2);
|
||||
let mut map = graph.edge_map(42);
|
||||
let initial_len = map.len();
|
||||
while graph.edge_capacity() <= initial_len {
|
||||
let capacity_before = map.capacity();
|
||||
while graph.edge_capacity() <= capacity_before {
|
||||
graph.add_edge(v1, v2);
|
||||
}
|
||||
assert!(
|
||||
map.len() < graph.edge_capacity(),
|
||||
map.capacity() < graph.edge_capacity(),
|
||||
"precondition: map is stale before sync"
|
||||
);
|
||||
map.sync(&graph);
|
||||
assert_eq!(map.len(), graph.edge_capacity());
|
||||
assert_eq!(map.capacity(), graph.edge_capacity());
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -259,7 +259,7 @@ macro_rules! edge_map_deletion_tests {
|
||||
let capacity_before = graph.edge_capacity();
|
||||
graph.delete_edge(e2);
|
||||
map.sync(&graph);
|
||||
assert_eq!(map.len(), capacity_before);
|
||||
assert_eq!(map.capacity(), capacity_before);
|
||||
assert_eq!(map[e1], 5);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user