pub struct GraphBuilder { /* private fields */ }Expand description
Graph 构建器。
Implementations§
Source§impl GraphBuilder
impl GraphBuilder
pub fn new(name: impl Into<String>) -> Self
pub fn start( &mut self, node: impl Into<String>, ) -> Result<&mut Self, BuildError>
pub fn end(&mut self, node: impl Into<String>) -> Result<&mut Self, BuildError>
pub fn node( &mut self, name: impl Into<String>, kind: NodeKind, ) -> Result<&mut Self, BuildError>
Sourcepub fn edge(
&mut self,
from: impl Into<String>,
to: impl Into<String>,
) -> Result<&mut Self, BuildError>
pub fn edge( &mut self, from: impl Into<String>, to: impl Into<String>, ) -> Result<&mut Self, BuildError>
添加边(无条件,无 policy)。
Sourcepub fn edge_if(
&mut self,
from: impl Into<String>,
to: impl Into<String>,
condition: impl Fn(&State) -> bool + Send + Sync + 'static,
) -> Result<&mut Self, BuildError>
pub fn edge_if( &mut self, from: impl Into<String>, to: impl Into<String>, condition: impl Fn(&State) -> bool + Send + Sync + 'static, ) -> Result<&mut Self, BuildError>
添加条件边。
Sourcepub fn edge_fallback(
&mut self,
from: impl Into<String>,
to: impl Into<String>,
) -> Result<&mut Self, BuildError>
pub fn edge_fallback( &mut self, from: impl Into<String>, to: impl Into<String>, ) -> Result<&mut Self, BuildError>
添加 fallback 边(无条件兜底)。
Sourcepub fn edge_analysis(
&mut self,
from: impl Into<String>,
to: impl Into<String>,
max_visits: usize,
) -> Result<&mut Self, BuildError>
pub fn edge_analysis( &mut self, from: impl Into<String>, to: impl Into<String>, max_visits: usize, ) -> Result<&mut Self, BuildError>
添加带 analysis 约束的边(仅静态分析用,不参与 runtime)。
Sourcepub fn edge_policy(
&mut self,
from: impl Into<String>,
to: impl Into<String>,
policy: EdgePolicy,
) -> Result<&mut Self, BuildError>
pub fn edge_policy( &mut self, from: impl Into<String>, to: impl Into<String>, policy: EdgePolicy, ) -> Result<&mut Self, BuildError>
添加带 runtime policy 的边(显式拦截)。
Sourcepub fn build(self) -> Result<Graph, BuildError>
pub fn build(self) -> Result<Graph, BuildError>
构建 Graph。返回 Result<Graph, BuildError>。
pub fn name(&self) -> &str
Auto Trait Implementations§
impl !RefUnwindSafe for GraphBuilder
impl !UnwindSafe for GraphBuilder
impl Freeze for GraphBuilder
impl Send for GraphBuilder
impl Sync for GraphBuilder
impl Unpin for GraphBuilder
impl UnsafeUnpin for GraphBuilder
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
Mutably borrows from an owned value. Read more