Feature Macros
Last updated
Was this helpful?
Last updated
Was this helpful?
Several advanced 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()