Tinyfsm: ¿Podemos tener varias instancias del mismo Fsm?

Creado en 25 oct. 2017  ·  5Comentarios  ·  Fuente: digint/tinyfsm

Dado que declaramos typedef F const * state_ptr_const_t; en la clase Fsm, no podemos obtener más de una instancia para un Fsm específico. Hay alguna manera de evitar esto?

question

Todos 5 comentarios

Como indica correctamente, Fsm y los estados son instancias estáticas de tipos de plantilla. Esto significa que no es posible tener más de una instancia para un Fsm tan específico.

Podría ser posible con algo de magia de metaprogramación de plantillas, y recuerdo haber hecho algunos experimentos con esto, pero se volvió bastante complicado, así que lo dejé (ya que uno de los objetivos principales de tinyfsm es mantenerlo simple).

Así es como puede tener varias máquinas de estado del mismo tipo, declarando una máquina de estado de plantilla : examples / api / multiple_switch.cpp .

Iba a usar esta biblioteca para hacer fsm para miles de bots de IA ... esto ya no parece viable si no hay una manera de crear una instancia de un objeto Fsm para cada bot. (Aprendiz novato de c ++, por lo que no es positivo si hay una solución).

hm nvermind solo usaré https://www.boost.org/doc/libs/1_64_0/libs/msm ya que coincide más con lo que necesitaba en términos de funcionalidad.

El mismo problema. Quería usar esta biblioteca para un servidor websocket: websockets como máquinas de estado.
_Me encontré con Boost.SML ._

¿Fue útil esta página
0 / 5 - 0 calificaciones