For the complete documentation index, see llms.txt. This page is also available as Markdown.

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()

Last updated