Trait agent_tk::execution::tst::AgentExecutorTrait
source · pub trait AgentExecutorTrait {
type SeqExecutor: Executor<Seq>;
type ConcExecutor: Executor<Conc>;
type MoveToExecutor: Executor<MoveTo>;
type SearchAreaExecutor: Executor<SearchArea>;
// Required methods
fn from_agent<TAgent>(agent: &TAgent) -> Self
where Self::SeqExecutor: CreatableFromAgent<TAgent, Self::SeqExecutor>,
Self::ConcExecutor: CreatableFromAgent<TAgent, Self::ConcExecutor>,
Self::MoveToExecutor: CreatableFromAgent<TAgent, Self::MoveToExecutor>,
Self::SearchAreaExecutor: CreatableFromAgent<TAgent, Self::SearchAreaExecutor>;
fn execute(&self, t: Node) -> ExecutionResult<'_>;
}Expand description
Base trait for the AgentExecutor
Required Associated Types§
sourcetype SeqExecutor: Executor<Seq>
type SeqExecutor: Executor<Seq>
Executor for sequential nodes
sourcetype ConcExecutor: Executor<Conc>
type ConcExecutor: Executor<Conc>
Executor for concurrent nodes
sourcetype MoveToExecutor: Executor<MoveTo>
type MoveToExecutor: Executor<MoveTo>
Executor for move_to nodes
sourcetype SearchAreaExecutor: Executor<SearchArea>
type SearchAreaExecutor: Executor<SearchArea>
Executor for search area nodes
Required Methods§
sourcefn from_agent<TAgent>(agent: &TAgent) -> Selfwhere
Self::SeqExecutor: CreatableFromAgent<TAgent, Self::SeqExecutor>,
Self::ConcExecutor: CreatableFromAgent<TAgent, Self::ConcExecutor>,
Self::MoveToExecutor: CreatableFromAgent<TAgent, Self::MoveToExecutor>,
Self::SearchAreaExecutor: CreatableFromAgent<TAgent, Self::SearchAreaExecutor>,
fn from_agent<TAgent>(agent: &TAgent) -> Selfwhere
Self::SeqExecutor: CreatableFromAgent<TAgent, Self::SeqExecutor>,
Self::ConcExecutor: CreatableFromAgent<TAgent, Self::ConcExecutor>,
Self::MoveToExecutor: CreatableFromAgent<TAgent, Self::MoveToExecutor>,
Self::SearchAreaExecutor: CreatableFromAgent<TAgent, Self::SearchAreaExecutor>,
Create a new executor for the given agent
sourcefn execute(&self, t: Node) -> ExecutionResult<'_>
fn execute(&self, t: Node) -> ExecutionResult<'_>
Execute the tst
Object Safety§
This trait is not object safe.