pub struct DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter: InnerOuterMarker> { /* private fields */ }
Expand description
Internal type definition that is only exposed for documentation purposes.
Rust will currently not generate documentation for type definitions depending on
pub(crate)
types, see #32077.
Do not use these types. Their removal from the public API will not be considered a breaking change.
Refer to the handles module for the handle types that should be used instead.
Implementations§
Source§impl<V, DE, UE, F, Type: Copy + Default, InnerOuter: InnerOuterMarker> DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: Copy + Default, InnerOuter: InnerOuterMarker> DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
Sourcepub fn fix(&self) -> FixedHandleImpl<Type, InnerOuter>
pub fn fix(&self) -> FixedHandleImpl<Type, InnerOuter>
Converts this dynamic handle to its fixed variant.
See also the handles module
Sourcepub fn index(&self) -> usize
pub fn index(&self) -> usize
Returns the internal index of this element.
Indices of the same handle type are guaranteed to be unique (e.g. different vertices will have different indices from each other).
Indices will always be in the interval 0
.. number_of_elements
(e.g. the number of
directed edges).
Adding vertices will not change any indices. Vertex removal does affect indices - the index of elements may change to swap-fill any gaps that were created.
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, DirectedEdgeTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, DirectedEdgeTag, InnerTag>
Sourcepub fn vertices(&self) -> [VertexHandle<'a, V, DE, UE, F>; 2]
pub fn vertices(&self) -> [VertexHandle<'a, V, DE, UE, F>; 2]
Returns the edge’s two vertices.
The first vertex is self.from()
, the second vertex is self.to()
.
Sourcepub fn from(&self) -> VertexHandle<'a, V, DE, UE, F>
pub fn from(&self) -> VertexHandle<'a, V, DE, UE, F>
Returns the edge’s origin vertex.
Sourcepub fn to(&self) -> VertexHandle<'a, V, DE, UE, F>
pub fn to(&self) -> VertexHandle<'a, V, DE, UE, F>
Returns the edge’s destination vertex.
Sourcepub fn opposite_vertex(&self) -> Option<VertexHandle<'a, V, DE, UE, F>>
pub fn opposite_vertex(&self) -> Option<VertexHandle<'a, V, DE, UE, F>>
Returns the vertex which lies opposite of this edge.
This is equal to calling self.prev().from()
or self.next().to()
.
Returns None
if this edge is part of the convex hull.
Sourcepub fn next(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn next(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Returns the oriented next edge.
The oriented next edge shares the same face as this edge. When traversing the face’s edges in oriented order, this edge is the predecessor of the oriented next edge. “Oriented” means counterclockwise for right-handed coordinate systems.
Sourcepub fn prev(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn prev(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Returns the oriented previous edge.
The oriented previous edge shares the same face as this edge. When traversing the face’s edges in oriented order, this edge is the successor of the oriented previous edge. “Oriented” means counterclockwise for right-handed coordinate systems.
Sourcepub fn face(&self) -> FaceHandle<'a, PossiblyOuterTag, V, DE, UE, F>
pub fn face(&self) -> FaceHandle<'a, PossiblyOuterTag, V, DE, UE, F>
Returns the face located to the left of this edge.
Sourcepub fn cw(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn cw(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Returns the next edge in clockwise direction.
Note that this assumes that you use a right-handed coordinate system, otherwise the sense of orientation is inverted.
Sourcepub fn ccw(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn ccw(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Returns the next edge in counterclockwise direction.
Note that this assumes that you use a right-handed coordinate system, otherwise the sense of orientation is inverted.
Sourcepub fn data(&self) -> &'a DE
pub fn data(&self) -> &'a DE
Returns a reference to the data associated with this directed edge.
Use Triangulation::directed_edge_data_mut to modify the edge data.
Sourcepub fn as_undirected(self) -> UndirectedEdgeHandle<'a, V, DE, UE, F>
pub fn as_undirected(self) -> UndirectedEdgeHandle<'a, V, DE, UE, F>
Converts this directed edge handle into an undirected edge handle.
See also the handles module.
Sourcepub fn is_outer_edge(&self) -> bool
pub fn is_outer_edge(&self) -> bool
Returns true
if this edge is adjacent to the outer face.
Sourcepub fn is_part_of_convex_hull(&self) -> bool
pub fn is_part_of_convex_hull(&self) -> bool
Returns true
if either this edge or its reversed edge is adjacent to the outer face.
Sourcepub fn as_voronoi_edge(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
pub fn as_voronoi_edge(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
Converts this edge into its dual voronoi edge.
See also as_delaunay_edge.
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, DirectedEdgeTag, InnerTag>where
V: HasPosition,
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, DirectedEdgeTag, InnerTag>where
V: HasPosition,
Sourcepub fn positions(&self) -> [Point2<<V as HasPosition>::Scalar>; 2]
pub fn positions(&self) -> [Point2<<V as HasPosition>::Scalar>; 2]
Returns the start and end position of this edge.
The first returned position is self.from().position()
, the second is
self.to().position()
.
Sourcepub fn opposite_position(&self) -> Option<Point2<V::Scalar>>
pub fn opposite_position(&self) -> Option<Point2<V::Scalar>>
Returns the position of the vertex opposite of this edge.
See also opposite_vertex().
Returns None
if this edge is an outer edge.
Sourcepub fn side_query(&self, query_point: Point2<V::Scalar>) -> LineSideInfo
pub fn side_query(&self, query_point: Point2<V::Scalar>) -> LineSideInfo
Identifies on which side of this edge a point lies.
Sourcepub fn project_point(
&self,
query_point: Point2<V::Scalar>,
) -> PointProjection<V::Scalar>
pub fn project_point( &self, query_point: Point2<V::Scalar>, ) -> PointProjection<V::Scalar>
Indicates the position of a point being projected onto this edge.
A point’s projection can either come before, on or behind this edge. Note that this method may return inaccurate results due to rounding issues.
An image displaying differently colored areas which would result in different point projections
§Example
use spade::{Point2, Triangulation, DelaunayTriangulation};
let from = Point2::new(0.0, 0.0);
let to = Point2::new(2.0, 0.0);
let mut triangulation: DelaunayTriangulation<_> = Default::default();
let v0 = triangulation.insert(from)?;
let v1 = triangulation.insert(to)?;
// This edge goes from "from" to "to"
let edge = triangulation.get_edge_from_neighbors(v0, v1).unwrap();
// These vertices are all projected before the edge
assert!(edge.project_point(Point2::new(-0.2, 0.0)).is_before_edge());
assert!(edge.project_point(Point2::new(-1002.0, -12.0)).is_before_edge());
// These vertices are all projected onto the edge
assert!(edge.project_point(Point2::new(1.0, 5.0)).is_on_edge());
assert!(edge.project_point(Point2::new(0.5, -2.0)).is_on_edge());
assert!(edge.project_point(Point2::new(1.0, 0.0)).is_on_edge());
// These vertices are all projected behind the edge
assert!(edge.project_point(Point2::new(4.000001, 0.0)).is_behind_edge());
assert!(edge.project_point(Point2::new(5.0, -12.0)).is_behind_edge());
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, CdtEdge<UE>, F, DirectedEdgeTag, InnerTag>
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, CdtEdge<UE>, F, DirectedEdgeTag, InnerTag>
Sourcepub fn is_constraint_edge(self) -> bool
pub fn is_constraint_edge(self) -> bool
Returns true
if this edge is a constraint edge.
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, UndirectedVoronoiEdgeTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, UndirectedVoronoiEdgeTag, InnerTag>
Sourcepub fn vertices(&self) -> [VoronoiVertex<'a, V, DE, UE, F>; 2]
pub fn vertices(&self) -> [VoronoiVertex<'a, V, DE, UE, F>; 2]
Returns the edge’s two vertices.
The vertices are returned in any order.
Sourcepub fn as_directed(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
pub fn as_directed(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
Converts this undirected handle into a directed edge handle.
Sourcepub fn as_delaunay_edge(&self) -> UndirectedEdgeHandle<'a, V, DE, UE, F>
pub fn as_delaunay_edge(&self) -> UndirectedEdgeHandle<'a, V, DE, UE, F>
Returns the dual edge of the Delaunay triangulation.
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, UndirectedEdgeTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, UndirectedEdgeTag, InnerTag>
Sourcepub fn vertices(&self) -> [VertexHandle<'a, V, DE, UE, F>; 2]
pub fn vertices(&self) -> [VertexHandle<'a, V, DE, UE, F>; 2]
Returns the edge’s two vertices.
The vertices are returned in any order.
Sourcepub fn as_directed(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn as_directed(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Converts this directed edge into an undirected edge handle.
Sourcepub fn as_voronoi_edge(&self) -> UndirectedVoronoiEdge<'a, V, DE, UE, F>
pub fn as_voronoi_edge(&self) -> UndirectedVoronoiEdge<'a, V, DE, UE, F>
Returns the dual edge in the Voronoi diagram.
Sourcepub fn data(&self) -> &UE
pub fn data(&self) -> &UE
Returns a reference to the data associated with this directed edge.
Use Triangulation::undirected_edge_data_mut to modify the edge data.
Sourcepub fn is_part_of_convex_hull(&self) -> bool
pub fn is_part_of_convex_hull(&self) -> bool
Returns true
if the outer face is adjacent to any side of this undirected edge.
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, UndirectedEdgeTag, InnerTag>where
V: HasPosition,
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, UndirectedEdgeTag, InnerTag>where
V: HasPosition,
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, UndirectedEdgeTag, InnerTag>
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, UndirectedEdgeTag, InnerTag>
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, CdtEdge<UE>, F, UndirectedEdgeTag, InnerTag>
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, CdtEdge<UE>, F, UndirectedEdgeTag, InnerTag>
Sourcepub fn is_constraint_edge(self) -> bool
pub fn is_constraint_edge(self) -> bool
Returns true
if this edge is a constraint edge.
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, FaceTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, FaceTag, InnerTag>
Sourcepub fn adjacent_edges(&self) -> [DirectedEdgeHandle<'a, V, DE, UE, F>; 3]
pub fn adjacent_edges(&self) -> [DirectedEdgeHandle<'a, V, DE, UE, F>; 3]
Returns the three inner edges adjacent to this face.
The edges are returned in counterclockwise order.
Sourcepub fn adjacent_edge(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn adjacent_edge(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Returns an edge that is adjacent to this face.
If this face has multiple adjacent edges, any of them is returned.
Sourcepub fn vertices(&self) -> [VertexHandle<'a, V, DE, UE, F>; 3]
pub fn vertices(&self) -> [VertexHandle<'a, V, DE, UE, F>; 3]
Returns the face’s three vertices.
The vertices are returned in counterclockwise order.
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, FaceTag, InnerTag>where
V: HasPosition,
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, FaceTag, InnerTag>where
V: HasPosition,
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, FaceTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, FaceTag, InnerTag>
Sourcepub fn distance_2(&self, query_point: Point2<V::Scalar>) -> V::Scalar
pub fn distance_2(&self, query_point: Point2<V::Scalar>) -> V::Scalar
Returns the squared distance of a point to this triangle.
The distance of a point inside the triangle is zero.
Sourcepub fn center(&self) -> Point2<V::Scalar>
pub fn center(&self) -> Point2<V::Scalar>
Returns the face’s center point.
The center point is the average position of its vertices.
Sourcepub fn circumcircle(&self) -> (Point2<V::Scalar>, V::Scalar)
pub fn circumcircle(&self) -> (Point2<V::Scalar>, V::Scalar)
Returns the face’s circumcircle center and the squared radius of the circumcircle.
The circumcircle is the unique circle that intersects all three vertices of the face.
Sourcepub fn circumcenter(&self) -> Point2<V::Scalar>
pub fn circumcenter(&self) -> Point2<V::Scalar>
Returns the face’s circumcenter.
The circumcenter is the center of the circumcircle.
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, VertexTag, InnerTag>where
V: HasPosition,
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, VertexTag, InnerTag>where
V: HasPosition,
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, VertexTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, VertexTag, InnerTag>
Sourcepub fn out_edges(
&self,
) -> CircularIterator<'a, V, DE, UE, F, CCWEdgesNextBackFn>
pub fn out_edges( &self, ) -> CircularIterator<'a, V, DE, UE, F, CCWEdgesNextBackFn>
Returns all directed edges going out of this vertex.
The edges are returned in counterclockwise order, beginning at an arbitrary edge.
A possible iteration order of v.out_edges()
Note: The returned iterator implements DoubleEndedIterator
, allowing traversal in
clockwise order.
Sourcepub fn out_edge(&self) -> Option<DirectedEdgeHandle<'a, V, DE, UE, F>>
pub fn out_edge(&self) -> Option<DirectedEdgeHandle<'a, V, DE, UE, F>>
Returns an outgoing edge of this vertex.
If the vertex has multiple outgoing edges, any of them is returned.
Sourcepub fn as_voronoi_face(&self) -> VoronoiFace<'a, V, DE, UE, F>
pub fn as_voronoi_face(&self) -> VoronoiFace<'a, V, DE, UE, F>
Returns the voronoi face that corresponds to this vertex of the Delaunay triangulation.
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, DirectedEdgeTag, InnerTag>
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, DirectedEdgeTag, InnerTag>
Source§impl<V, DE, UE, F, InnerOuter: InnerOuterMarker> DynamicHandleImpl<'_, V, DE, UE, F, FaceTag, InnerOuter>
impl<V, DE, UE, F, InnerOuter: InnerOuterMarker> DynamicHandleImpl<'_, V, DE, UE, F, FaceTag, InnerOuter>
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, FaceTag, PossiblyOuterTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, FaceTag, PossiblyOuterTag>
Sourcepub fn as_inner(&self) -> Option<FaceHandle<'a, InnerTag, V, DE, UE, F>>
pub fn as_inner(&self) -> Option<FaceHandle<'a, InnerTag, V, DE, UE, F>>
Converts this possibly outer face handle into an inner face handle.
Returns None
if this handle refers to the outer face.
Sourcepub fn adjacent_edge(&self) -> Option<DirectedEdgeHandle<'a, V, DE, UE, F>>
pub fn adjacent_edge(&self) -> Option<DirectedEdgeHandle<'a, V, DE, UE, F>>
Returns an edge that is adjacent to this face.
The returned edge has this face on its left side.
Returns None
if the triangulation has only one or no vertices.
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, VoronoiFaceTag, PossiblyOuterTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, VoronoiFaceTag, PossiblyOuterTag>
Sourcepub fn as_delaunay_vertex(&self) -> VertexHandle<'a, V, DE, UE, F>
pub fn as_delaunay_vertex(&self) -> VertexHandle<'a, V, DE, UE, F>
Converts this face into its dual vertex of the Delaunay Triangulation.
Sourcepub fn adjacent_edges(
&self,
) -> impl DoubleEndedIterator<Item = DirectedVoronoiEdge<'a, V, DE, UE, F>>
pub fn adjacent_edges( &self, ) -> impl DoubleEndedIterator<Item = DirectedVoronoiEdge<'a, V, DE, UE, F>>
Returns an iterator that returns all edges adjacent to this face.
The edges are returned in clockwise order.
Source§impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, DirectedVoronoiEdgeTag, InnerTag>
impl<'a, V, DE, UE, F> DynamicHandleImpl<'a, V, DE, UE, F, DirectedVoronoiEdgeTag, InnerTag>
Sourcepub fn to(&self) -> VoronoiVertex<'a, V, DE, UE, F>
pub fn to(&self) -> VoronoiVertex<'a, V, DE, UE, F>
Returns the voronoi edge’s destination.
Sourcepub fn from(&self) -> VoronoiVertex<'a, V, DE, UE, F>
pub fn from(&self) -> VoronoiVertex<'a, V, DE, UE, F>
Returns the voronoi vertex from which this edge originates.
Sourcepub fn face(&self) -> VoronoiFace<'a, V, DE, UE, F>
pub fn face(&self) -> VoronoiFace<'a, V, DE, UE, F>
Returns the Voronoi face to the left of this Voronoi edge
Sourcepub fn as_undirected(&self) -> UndirectedVoronoiEdge<'a, V, DE, UE, F>
pub fn as_undirected(&self) -> UndirectedVoronoiEdge<'a, V, DE, UE, F>
Converts this directed edge handle into an undirected edge handle.
See also the handles module for more information.
Sourcepub fn as_delaunay_edge(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
pub fn as_delaunay_edge(&self) -> DirectedEdgeHandle<'a, V, DE, UE, F>
Returns the directed dual edge of the underlying Delaunay triangulation.
The dual edge is always orthogonal to this edge.
Shows various inner voronoi edges (blue) and their dual Delaunay edges (orange)
Sourcepub fn next(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
pub fn next(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
Returns the edge that is connected to this edge in counterclockwise order.
See also prev
Sourcepub fn prev(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
pub fn prev(&self) -> DirectedVoronoiEdge<'a, V, DE, UE, F>
Returns the edge that is connected to this edge in clockwise order.
See also next
Source§impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, DirectedVoronoiEdgeTag, InnerTag>where
V: HasPosition,
impl<V, DE, UE, F> DynamicHandleImpl<'_, V, DE, UE, F, DirectedVoronoiEdgeTag, InnerTag>where
V: HasPosition,
Sourcepub fn direction_vector(&self) -> Point2<V::Scalar>
pub fn direction_vector(&self) -> Point2<V::Scalar>
Returns a vector that is parallel to the voronoi edge.
This vector is obtained by rotating the dual Delaunay edge by 90° degree The returned vector is not necessarily normalized.
Trait Implementations§
Source§impl<V, DE, UE, F, Type: Copy, InnerOuter: InnerOuterMarker> Clone for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: Copy, InnerOuter: InnerOuterMarker> Clone for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
Source§impl<V, DE, UE, F, Type: Hash, InnerOuter: InnerOuterMarker> Hash for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: Hash, InnerOuter: InnerOuterMarker> Hash for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
Source§impl<V, DE, UE, F, Type: Ord, InnerOuter: InnerOuterMarker> Ord for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: Ord, InnerOuter: InnerOuterMarker> Ord for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
Source§impl<V, DE, UE, F, Type: PartialEq, InnerOuter: InnerOuterMarker> PartialEq for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: PartialEq, InnerOuter: InnerOuterMarker> PartialEq for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
Source§impl<V, DE, UE, F, Type: PartialOrd, InnerOuter: InnerOuterMarker> PartialOrd for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: PartialOrd, InnerOuter: InnerOuterMarker> PartialOrd for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: Copy, InnerOuter: InnerOuterMarker> Copy for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
impl<V, DE, UE, F, Type: Eq, InnerOuter: InnerOuterMarker> Eq for DynamicHandleImpl<'_, V, DE, UE, F, Type, InnerOuter>
Auto Trait Implementations§
impl<'a, V, DE, UE, F, Type, InnerOuter> Freeze for DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter>
impl<'a, V, DE, UE, F, Type, InnerOuter> RefUnwindSafe for DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter>where
Type: RefUnwindSafe,
InnerOuter: RefUnwindSafe,
V: RefUnwindSafe,
F: RefUnwindSafe,
UE: RefUnwindSafe,
DE: RefUnwindSafe,
impl<'a, V, DE, UE, F, Type, InnerOuter> Send for DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter>
impl<'a, V, DE, UE, F, Type, InnerOuter> Sync for DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter>
impl<'a, V, DE, UE, F, Type, InnerOuter> Unpin for DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter>
impl<'a, V, DE, UE, F, Type, InnerOuter> UnwindSafe for DynamicHandleImpl<'a, V, DE, UE, F, Type, InnerOuter>where
Type: UnwindSafe,
InnerOuter: UnwindSafe,
V: RefUnwindSafe,
F: RefUnwindSafe,
UE: RefUnwindSafe,
DE: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.