pub trait HugrInternals {
type RegionPortgraph<'p>: LinkView<LinkEndpoint: Eq> + Clone + 'p
where Self: 'p;
type Node: Copy + Ord + Debug + Display + Hash;
type RegionPortgraphNodes: PortgraphNodeMap<Self::Node>;
// Required methods
fn region_portgraph(
&self,
parent: Self::Node,
) -> (FlatRegion<'_, Self::RegionPortgraph<'_>>, Self::RegionPortgraphNodes);
fn node_metadata_map(&self, node: Self::Node) -> &NodeMetadataMap;
}
Expand description
Trait for accessing the internals of a Hugr(View).
Specifically, this trait provides access to the underlying portgraph view.
Required Associated Types§
Sourcetype RegionPortgraph<'p>: LinkView<LinkEndpoint: Eq> + Clone + 'p
where
Self: 'p
type RegionPortgraph<'p>: LinkView<LinkEndpoint: Eq> + Clone + 'p where Self: 'p
The portgraph graph structure returned by HugrInternals::region_portgraph
.
Sourcetype RegionPortgraphNodes: PortgraphNodeMap<Self::Node>
type RegionPortgraphNodes: PortgraphNodeMap<Self::Node>
A mapping between HUGR nodes and portgraph nodes in the graph returned by
HugrInternals::region_portgraph
.
Required Methods§
Sourcefn region_portgraph(
&self,
parent: Self::Node,
) -> (FlatRegion<'_, Self::RegionPortgraph<'_>>, Self::RegionPortgraphNodes)
fn region_portgraph( &self, parent: Self::Node, ) -> (FlatRegion<'_, Self::RegionPortgraph<'_>>, Self::RegionPortgraphNodes)
Returns a flat portgraph view of a region in the HUGR, and a mapping between HUGR nodes and portgraph nodes in the graph.
Sourcefn node_metadata_map(&self, node: Self::Node) -> &NodeMetadataMap
fn node_metadata_map(&self, node: Self::Node) -> &NodeMetadataMap
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.