HFSM2
Search
K
Comment on page

Feature Macros

Several advanced HFSM2 features are disabled by default to improve build times for the average case, and are explicitly enabled using feature macros:
Macro
Feature
API
HFSM2_ENABLE_ALL
All Advanced
Features
See below
HFSM2_ENABLE_UTILITY_THEORY
Utility Theory Transitions
Config::RankT<> Config::UtilityT<> Config::RandomT<>
void *Root::utilize()
void *Root::randomize()
void FullControl::utilize()
void FullControl::randomize()
void Plan::utilize()
void Plan::randomize()
void LoggerInterface::recordUtilityResolution() void LoggerInterface::recordRandomResolution()
HFSM2_ENABLE_PLANS
Plans
struct Plan struct ConstPlan void State::planSucceeded() void State::planFailed() ConstPlan Control::plan() Plan PlanControl::plan() void FullControl::succeed() void FullControl::fail() void LoggerInterface::recordTaskStatus() void LoggerInterface::recordPlanStatus()
HFSM2_ENABLE_SERIALIZATION
Serialization
struct SerialBuffer
void *Root::load()
void *Root::load()
HFSM2_ENABLE_TRANSITION_HISTORY
Transition
History
struct Transition
struct TransitionHistory
TransitionHistory *Root::transitionHistory()
void *Root::replayTransition()
void *Root::replayTransitions()
HFSM2_ENABLE_STRUCTURE_REPORT
Structure
Report
struct StructureEntry
struct Structure
Structure *Root::structure()
struct ActivityHistory
ActivityHistory *Root::activityHistory()
HFSM2_ENABLE_VERBOSE_DEBUG_LOGand / or
HFSM2_ENABLE_LOG_INTERFACE
Logging
void *Root::attachLogger() struct LoggerInterface void LoggerInterface::recordMethod() void LoggerInterface::recordTransition() void LoggerInterface::recordTaskStatus() void LoggerInterface::recordPlanStatus() void LoggerInterface::recordCancelledPending()
void LoggerInterface::recordUtilityResolution() void LoggerInterface::recordRandomResolution()