Tinyfsm: هل يمكننا الحصول على مثيل متعدد من نفس Fsm؟

تم إنشاؤها على ٢٥ أكتوبر ٢٠١٧  ·  5تعليقات  ·  مصدر: digint/tinyfsm

منذ الإعلان عن typedef F const * state_ptr_const_t; في فئة Fsm ، لا يمكننا الحصول على أكثر من مثيل واحد لـ Fsm معين. هل هناك أي طريقة لتجنب هذا؟

question

ال 5 كومينتر

كما تصرح بشكل صحيح ، فإن Fsm والحالات كلها حالات ثابتة لأنواع القوالب. هذا يعني أنه لا يمكن أن يكون لديك أكثر من مثيل واحد لـ Fsm محدد.

قد يكون من الممكن مع بعض سحر البرمجة الوصفية ، وأتذكر إجراء بعض التجارب مع هذا ، لكنه أصبح معقدًا جدًا ، لذلك أسقطته (كأحد الأهداف الرئيسية لـ tinyfsm هو إبقائها بسيطة).

إليك كيف يمكنك الحصول على أجهزة حالة متعددة من نفس النوع ، مع الإعلان عن آلة حالة القالب : أمثلة / api / multiple_switch.cpp .

كنت سأستخدم هذه المكتبة لعمل fsm مثل الآلاف من روبوتات الذكاء الاصطناعي ... لم يعد هذا يبدو قابلاً للتطبيق إذا لم تكن هناك طريقة لإنشاء مثيل Fsm لكل روبوت. (مبتدئ c ++ المتعلم لذلك ليس إيجابيا إذا كان هناك حل بديل).

hm nvermind سأستخدم فقط https://www.boost.org/doc/libs/1_64_0/libs/msm نظرًا لأنه يتطابق بشكل وثيق مع ما كنت أحتاجه من حيث الوظائف.

نفس المشكلة. كنت أرغب في استخدام هذه المكتبة لخادم websocket - websocket كآلات دولة.
_ جئت عبر Boost.SML ._

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات