Skip to content

Feature Macros

Andrew Gresyk edited this page Apr 12, 2024 · 1 revision

Heavy features are disabled by default to speed up builds and reduce memory footprint, and can be explicitly enabled if needed.

#define these before #include <hfsm2/machine.hpp>.


Feature Macros

  1. Enable everything:

    #define HFSM2_ENABLE_ALL
  2. Enable per-state debug info for Visual Studio .natvis:

    #define HFSM2_ENABLE_DEBUG_STATE_TYPE
  3. Enable plans support:

    #define HFSM2_ENABLE_PLANS
  4. Enable serialization:

    #define HFSM2_ENABLE_SERIALIZATION
  5. Enable structure report:

    #define HFSM2_ENABLE_STRUCTURE_REPORT
  6. Enable transition history reporting:

    #define HFSM2_ENABLE_TRANSITION_HISTORY
  7. Enable utility theory-based transitions:

    #define HFSM2_ENABLE_UTILITY_THEORY
  8. Enable logging support:

    #define HFSM2_ENABLE_LOG_INTERFACE
    #define HFSM2_ENABLE_VERBOSE_DEBUG_LOG