Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.5.0 #92

Merged
merged 2 commits into from
Jan 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions development/hfsm2/detail/config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ struct G_ final {
using RNG = TRNG;
#endif

#if HFSM2_LOG_INTERFACE_AVAILABLE()
using LoggerInterface = LoggerInterfaceT<FEATURE_TAG, Context HFSM2_IF_UTILITY_THEORY(, Utility)>;
#endif

static constexpr Short SUBSTITUTION_LIMIT = NSubstitutionLimit;

#if HFSM2_PLANS_AVAILABLE()
Expand All @@ -49,8 +45,12 @@ struct G_ final {
using Task = TaskT<Payload>;
#endif

#if HFSM2_LOG_INTERFACE_AVAILABLE()
using LoggerInterface = LoggerInterfaceT<FEATURE_TAG, Context HFSM2_IF_UTILITY_THEORY(, Utility)>;
#endif

/// @brief Set Context type
/// @tparam T Context type for data shared between states and/or data interface between FSM and external code
/// @tparam `T` Context type for data shared between states and/or data interface between FSM and external code
template <typename T>
using ContextT = G_<FEATURE_TAG, T , Activation, ReactOrder HFSM2_IF_UTILITY_THEORY(, Rank, Utility, RNG), SUBSTITUTION_LIMIT HFSM2_IF_PLANS(, TASK_CAPACITY), Payload>;

Expand All @@ -63,38 +63,38 @@ struct G_ final {
#if HFSM2_UTILITY_THEORY_AVAILABLE()

/// @brief Set Rank type
/// @tparam T Rank type for 'TRank State::rank() const' method
/// @tparam `T` Rank type for 'TRank State::rank() const' method
template <typename T>
using RankT = G_<FEATURE_TAG, Context, Activation, ReactOrder , T , Utility, RNG , SUBSTITUTION_LIMIT HFSM2_IF_PLANS(, TASK_CAPACITY), Payload>;

/// @brief Set Utility type
/// @tparam T Utility type for 'TUtility State::utility() const' method
/// @tparam `T` Utility type for 'TUtility State::utility() const' method
template <typename T>
using UtilityT = G_<FEATURE_TAG, Context, Activation, ReactOrder , Rank, T , RNG , SUBSTITUTION_LIMIT HFSM2_IF_PLANS(, TASK_CAPACITY), Payload>;

/// @brief Set RNG type
/// @tparam T RNG type used in 'Random' regions
/// @tparam `T` RNG type used in 'Random' regions
template <typename T>
using RandomT = G_<FEATURE_TAG, Context, Activation, ReactOrder , Rank, Utility, T , SUBSTITUTION_LIMIT HFSM2_IF_PLANS(, TASK_CAPACITY), Payload>;

#endif

/// @brief Set Substitution limit
/// @tparam N Maximum number times 'guard()' methods can substitute their states for others
template <Long N>
/// @tparam `N` Maximum number times 'guard()' methods can substitute their states for others
template <Short N>
using SubstitutionLimitN = G_<FEATURE_TAG, Context, Activation, ReactOrder HFSM2_IF_UTILITY_THEORY(, Rank, Utility, RNG), N HFSM2_IF_PLANS(, TASK_CAPACITY), Payload>;

#if HFSM2_PLANS_AVAILABLE()

/// @brief Set Task capacity
/// @tparam N Maximum number of tasks across all plans
/// @tparam `N` Maximum number of tasks across all plans
template <Long N>
using TaskCapacityN = G_<FEATURE_TAG, Context, Activation, ReactOrder HFSM2_IF_UTILITY_THEORY(, Rank, Utility, RNG), SUBSTITUTION_LIMIT , N , Payload>;

#endif

/// @brief Set Transition Payload type
/// @tparam T Utility type for 'TUtility State::utility() const' method
/// @tparam `T` Payload type
template <typename T>
using PayloadT = G_<FEATURE_TAG, Context, Activation, ReactOrder HFSM2_IF_UTILITY_THEORY(, Rank, Utility, RNG), SUBSTITUTION_LIMIT HFSM2_IF_PLANS(, TASK_CAPACITY), T >;

Expand Down Expand Up @@ -364,8 +364,8 @@ using Config = detail::G_<
>;

/// @brief 'Template namespace' for FSM classes
/// @tparam TConfig 'ConfigT<>' type configuration for MachineT<>
/// @see ConfigT<>
/// @tparam `TConfig` `ConfigT<>` type configuration for MachineT<>
/// @see `ConfigT<>`
template <typename TConfig = Config>
using MachineT = detail::M_<TConfig>;

Expand Down
2 changes: 1 addition & 1 deletion development/hfsm2/detail/containers/array.inl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ template <typename T, Long NC_>
template <typename N>
HFSM2_CONSTEXPR(14)
T&
StaticArrayT<T, NC_>::operator[] (const N index) noexcept {
StaticArrayT<T, NC_>::operator[] (const N index) noexcept {
HFSM2_ASSERT(0 <= index && index < CAPACITY);

return _items[static_cast<Index>(index)];
Expand Down
8 changes: 4 additions & 4 deletions development/hfsm2/detail/features/transition.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,9 @@ struct TransitionBase {
HFSM2_CONSTEXPR(11)
bool
operator == (const TransitionBase& other) const noexcept {
return origin == other.origin &&
return origin == other.origin &&
destination == other.destination &&
method == other.method &&
method == other.method &&
type == other.type;
}

Expand All @@ -194,9 +194,9 @@ struct TransitionBase {
HFSM2_CONSTEXPR(11)
bool
operator != (const TransitionBase& other) const noexcept {
return origin != other.origin ||
return origin != other.origin ||
destination != other.destination ||
method != other.method ||
method != other.method ||
type != other.type;
}

Expand Down
10 changes: 10 additions & 0 deletions development/hfsm2/detail/root/control_0.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ class ConstControlT {
template <typename, typename>
friend class R_;

template <typename, typename, typename>
friend struct QueryWrapperT;

protected:
using Context = typename TArgs::Context;

Expand Down Expand Up @@ -125,6 +128,12 @@ class ConstControlT {

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/// @brief Stops processing of the current query down the hierarchy
/// @see Config::BottomUpReactions
HFSM2_CONSTEXPR(14) void consumeQuery() noexcept { _consumed = true; }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/// @brief Inspect current transition requests
/// @return Array of transition requests
HFSM2_CONSTEXPR(11) const TransitionSet& requests() const noexcept { return _core.requests; }
Expand Down Expand Up @@ -246,6 +255,7 @@ class ConstControlT {
const Core& _core;
StateID _originId = INVALID_STATE_ID;
RegionID _regionId = 0;
bool _consumed = false;
};

////////////////////////////////////////////////////////////////////////////////
Expand Down
22 changes: 22 additions & 0 deletions development/hfsm2/detail/root/control_0.inl
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,27 @@ ConstControlT<TArgs>::Region::~Region() noexcept {

////////////////////////////////////////////////////////////////////////////////

template <typename TArgs>
HFSM2_CONSTEXPR(14)
void
ConstControlT<TArgs>::setRegion(const RegionID regionId_) noexcept {
HFSM2_ASSERT(_regionId <= regionId_ && regionId_ < RegionList::SIZE);

_regionId = regionId_;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

template <typename TArgs>
HFSM2_CONSTEXPR(14)
void
ConstControlT<TArgs>::resetRegion(const RegionID regionId_) noexcept {
HFSM2_ASSERT(regionId_ <= _regionId && _regionId < RegionList::SIZE);

_regionId = regionId_;
}

////////////////////////////////////////////////////////////////////////////////

}
}
10 changes: 9 additions & 1 deletion development/hfsm2/detail/root/control_3.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ template <
, Long NCompoCount
, Long NOrthoCount
, Long NOrthoUnits
, typename TReactOrder
HFSM2_IF_SERIALIZATION(, Long NSerialBits)
HFSM2_IF_PLANS(, Long NTaskCapacity)
, typename TPayload
Expand All @@ -233,6 +234,7 @@ class FullControlT<
, NCompoCount
, NOrthoCount
, NOrthoUnits
, TReactOrder
HFSM2_IF_SERIALIZATION(, NSerialBits)
HFSM2_IF_PLANS(, NTaskCapacity)
, TPayload
Expand All @@ -246,6 +248,7 @@ class FullControlT<
, NCompoCount
, NOrthoCount
, NOrthoUnits
, TReactOrder
HFSM2_IF_SERIALIZATION(, NSerialBits)
HFSM2_IF_PLANS(, NTaskCapacity)
, TPayload
Expand All @@ -271,6 +274,7 @@ class FullControlT<
, NCompoCount
, NOrthoCount
, NOrthoUnits
, TReactOrder
HFSM2_IF_SERIALIZATION(, NSerialBits)
HFSM2_IF_PLANS(, NTaskCapacity)
, TPayload
Expand Down Expand Up @@ -445,7 +449,7 @@ class FullControlT<
using FullControlBase::_locked;
};

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//------------------------------------------------------------------------------

template <
typename TConfig
Expand All @@ -454,6 +458,7 @@ template <
, Long NCompoCount
, Long NOrthoCount
, Long NOrthoUnits
, typename TReactOrder
HFSM2_IF_SERIALIZATION(, Long NSerialBits)
HFSM2_IF_PLANS(, Long NTaskCapacity)
>
Expand All @@ -465,6 +470,7 @@ class FullControlT<
, NCompoCount
, NOrthoCount
, NOrthoUnits
, TReactOrder
HFSM2_IF_SERIALIZATION(, NSerialBits)
HFSM2_IF_PLANS(, NTaskCapacity)
, void
Expand All @@ -478,6 +484,7 @@ class FullControlT<
, NCompoCount
, NOrthoCount
, NOrthoUnits
, TReactOrder
HFSM2_IF_SERIALIZATION(, NSerialBits)
HFSM2_IF_PLANS(, NTaskCapacity)
, void
Expand All @@ -503,6 +510,7 @@ class FullControlT<
, NCompoCount
, NOrthoCount
, NOrthoUnits
, TReactOrder
HFSM2_IF_SERIALIZATION(, NSerialBits)
HFSM2_IF_PLANS(, NTaskCapacity)
, void
Expand Down
54 changes: 27 additions & 27 deletions development/hfsm2/detail/root/control_3.inl
Original file line number Diff line number Diff line change
Expand Up @@ -217,12 +217,12 @@ FullControlBaseT<TArgs>::fail(const StateID stateId_) noexcept {

#if HFSM2_PLANS_AVAILABLE()

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_), Long NTC_, typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_), Long NTC_, typename TTP_>
template <typename TState>
HFSM2_CONSTEXPR(14)
TaskStatus
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_), NTC_, TTP_>>::updatePlan(TState& headState,
const TaskStatus subStatus) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_), NTC_, TTP_>>::updatePlan(TState& headState,
const TaskStatus subStatus) noexcept
{
constexpr StateID STATE_ID = TState::STATE_ID; // SPECIFIC

Expand Down Expand Up @@ -280,11 +280,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

//------------------------------------------------------------------------------

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::changeWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::changeWith(const StateID stateId_,
const Payload& payload) noexcept
{
if (!_locked) {
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::CHANGE, payload});
Expand All @@ -298,11 +298,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::restartWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::restartWith(const StateID stateId_,
const Payload& payload) noexcept
{
if (!_locked) {
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::RESTART, payload});
Expand All @@ -316,11 +316,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::resumeWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::resumeWith(const StateID stateId_,
const Payload& payload) noexcept
{
if (!_locked) {
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::RESUME, payload});
Expand All @@ -334,11 +334,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::selectWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::selectWith(const StateID stateId_,
const Payload& payload) noexcept
{
if (!_locked) {
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::SELECT, payload});
Expand All @@ -354,11 +354,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

#if HFSM2_UTILITY_THEORY_AVAILABLE()

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::utilizeWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::utilizeWith(const StateID stateId_,
const Payload& payload) noexcept
{
if (!_locked) {
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::UTILIZE, payload});
Expand All @@ -372,11 +372,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::randomizeWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::randomizeWith(const StateID stateId_,
const Payload& payload) noexcept
{
if (!_locked) {
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::RANDOMIZE, payload});
Expand All @@ -392,11 +392,11 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_) HFSM2_IF_PLANS(, Long NTC_), typename TTP_>
HFSM2_CONSTEXPR(14)
void
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::scheduleWith(const StateID stateId_,
const Payload& payload) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_) HFSM2_IF_PLANS(, NTC_), TTP_>>::scheduleWith(const StateID stateId_,
const Payload& payload) noexcept
{
_core.requests.emplace(Transition{_originId, stateId_, TransitionType::SCHEDULE, payload});

Expand All @@ -407,12 +407,12 @@ FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NS

#if HFSM2_PLANS_AVAILABLE()

template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_ HFSM2_IF_SERIALIZATION(, Long NSB_), Long NTC_>
template <typename TG_, typename TSL_, typename TRL_, Long NCC_, Long NOC_, Long NOU_, typename TRO_ HFSM2_IF_SERIALIZATION(, Long NSB_), Long NTC_>
template <typename TState>
HFSM2_CONSTEXPR(14)
TaskStatus
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_ HFSM2_IF_SERIALIZATION(, NSB_), NTC_, void>>::updatePlan(TState& headState,
const TaskStatus subStatus) noexcept
FullControlT<ArgsT<TG_, TSL_, TRL_, NCC_, NOC_, NOU_, TRO_ HFSM2_IF_SERIALIZATION(, NSB_), NTC_, void>>::updatePlan(TState& headState,
const TaskStatus subStatus) noexcept
{
constexpr StateID STATE_ID = TState::STATE_ID; // SPECIFIC

Expand Down
Loading