pub struct FSMNode {
pub value: NodeType,
pub children: Vec<Rc<FSMLock<FSMNode>>>,
/* private fields */
}Fields§
§value: NodeType§children: Vec<Rc<FSMLock<FSMNode>>>Implementations§
Source§impl FSMNode
impl FSMNode
pub fn id(&self) -> usize
pub fn is_done(&self) -> bool
pub fn set_is_done(&mut self, val: bool)
pub fn is_null(&self) -> bool
pub fn deep_clone(&self) -> Rc<FSMLock<Self>>
pub fn node_cnt(this: &Rc<FSMLock<FSMNode>>) -> usize
pub fn set_userdef_links(this: &Rc<FSMLock<FSMNode>>)
pub fn minify(this: &Rc<FSMLock<FSMNode>>)
pub fn has_useful_children(&self) -> bool
pub fn get_last_child(&self) -> Option<Rc<FSMLock<FSMNode>>>
Sourcepub unsafe fn add_child_unsafe(&mut self, child: &Rc<FSMLock<FSMNode>>)
pub unsafe fn add_child_unsafe(&mut self, child: &Rc<FSMLock<FSMNode>>)
adds child to the children vector of self without doing collision checks first
pub fn add_child(&mut self, child: &Rc<FSMLock<FSMNode>>)
pub fn add_child_cycle_safe( this: &Rc<FSMLock<FSMNode>>, child: &Rc<FSMLock<FSMNode>>, )
pub fn new_null(parent: Option<&Rc<FSMLock<FSMNode>>>) -> Rc<FSMLock<Self>>
pub fn short_id(&self) -> String
pub fn add_child_to_all_leaves( this: &Rc<FSMLock<FSMNode>>, child: &Rc<FSMLock<FSMNode>>, )
pub fn race_to_leaf(&self) -> Option<Rc<FSMLock<FSMNode>>>
pub fn dbg(&self)
pub fn new_id(value: NodeType, id: usize) -> Rc<FSMLock<Self>>
pub fn new(value: NodeType, parent: &Rc<FSMLock<FSMNode>>) -> Rc<FSMLock<Self>>
pub fn new_required( value: NodeType, parent: &Rc<FSMLock<FSMNode>>, ) -> Rc<FSMLock<Self>>
pub fn new_userdef(r: Regex, parent: &Rc<FSMLock<FSMNode>>) -> Rc<FSMLock<Self>>
pub fn new_keyword(expanded_name: String) -> Rc<FSMLock<Self>>
pub fn new_keyword_with_parent( expanded_name: String, parent: Rc<FSMLock<FSMNode>>, ) -> Rc<FSMLock<Self>>
pub fn find_node_with_code(&self, short: &str) -> Option<Rc<FSMLock<FSMNode>>>
pub fn check_for_conflicts(&self, short: &str) -> bool
pub fn handle_potential_conflict(&self, child: &Rc<FSMLock<FSMNode>>) -> bool
pub fn dump_children(&self)
Trait Implementations§
impl StructuralPartialEq for FSMNode
Auto Trait Implementations§
impl Freeze for FSMNode
impl !RefUnwindSafe for FSMNode
impl !Send for FSMNode
impl !Sync for FSMNode
impl Unpin for FSMNode
impl UnsafeUnpin for FSMNode
impl !UnwindSafe for FSMNode
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