Feature Macros
Last updated
Last updated
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_LOG
and / 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()