Tinyfsm: Podemos ter várias instâncias do mesmo Fsm?

Criado em 25 out. 2017  ·  5Comentários  ·  Fonte: digint/tinyfsm

Como declaramos typedef F const * state_ptr_const_t; na classe Fsm, não podemos obter mais de uma instância para um Fsm específico. Existe alguma maneira de evitar isso?

question

Todos 5 comentários

Como você afirma corretamente, Fsm e estados são todas instâncias estáticas de tipos de modelo. Isso significa que não é possível ter mais de uma instância para um Fsm específico.

Pode ser possível com alguma mágica de metaprogramação de template, e eu me lembro de fazer alguns experimentos com isso, mas ficou bem complicado, então eu o abandonei (já que um dos objetivos principais do tinyfsm é mantê-lo simples).

Veja como você pode ter várias máquinas de estado do mesmo tipo, declarando uma máquina de estado de modelo : examples / api / multiple_switch.cpp .

Eu ia usar essa biblioteca para fazer fsm para milhares de bots de IA ... isso não parece mais viável se eu não houver uma maneira de instanciar um objeto Fsm para cada bot. (O aluno iniciante em c ++ não tem certeza se há uma solução alternativa).

hm nvermind estarei usando https://www.boost.org/doc/libs/1_64_0/libs/msm, pois corresponde mais de perto ao que eu estava precisando em termos de funcionalidade.

Mesmo problema. Eu queria usar esta biblioteca para um servidor websocket - websockets como máquinas de estado.
_Eu me deparei com

Esta página foi útil?
0 / 5 - 0 avaliações