@@ -767,9 +767,6 @@ R_<TG_, TA_>::getStateNames() noexcept {
767767 const StructureStateInfo& stateInfo = stateInfos[s];
768768 Prefix& prefix = _prefixes[s];
769769
770- if (stateInfo.name [0 ] != ' \0 ' )
771- _namedStates.set (s);
772-
773770 if (margin > stateInfo.depth && stateInfo.name [0 ] != ' \0 ' )
774771 margin = stateInfo.depth ;
775772
@@ -805,16 +802,17 @@ R_<TG_, TA_>::getStateNames() noexcept {
805802 if (margin > 0 )
806803 margin -= 1 ;
807804
808- _structure.clear ();
809805 for (Long s = 0 ; s < stateInfos.count (); ++s) {
810806 const StructureStateInfo& stateInfo = stateInfos[s];
811807 Prefix& prefix = _prefixes[s];
812808 const Long space = stateInfo.depth * 2 ;
813809
814810 if (stateInfo.name [0 ] != L' \0 ' ) {
815- _structure.emplace (StructureEntry{false , &prefix[margin * 2 ], stateInfo.name });
816- _activityHistory.emplace (static_cast <int8_t >(0 ));
817- } else if (s + 1 < stateInfos.count ()) {
811+ _structure[s] = StructureEntry{false , &prefix[margin * 2 ], stateInfo.name };
812+ _activityHistory[s] = static_cast <int8_t >(0 );
813+ }
814+ else
815+ if (s + 1 < stateInfos.count ()) {
818816 Prefix& nextPrefix = _prefixes[s + 1 ];
819817
820818 if (s > 0 )
@@ -841,26 +839,25 @@ template <typename TG_, typename TA_>
841839HFSM2_CONSTEXPR (14 )
842840void
843841R_<TG_, TA_>::udpateActivity() noexcept {
844- for (Long s = 0 , i = 0 ; s < STATE_COUNT; ++s)
845- if (_namedStates.get (s)) {
846- _structure[i].isActive = isActive (s);
847-
848- typename ActivityHistory::Item& activity = _activityHistory[i];
849-
850- if (_structure[i].isActive ) {
851- if (activity < 0 )
852- activity = +1 ;
853- else
854- activity = activity < INT8_MAX ? activity + 1 : activity;
855- } else {
856- if (activity > 0 )
857- activity = -1 ;
858- else
859- activity = activity > INT8_MIN ? activity - 1 : activity;
860- }
861-
862- ++i;
842+ for (Long s = 0 , i = 0 ; s < STATE_COUNT; ++s) {
843+ _structure[i].isActive = isActive (s);
844+
845+ typename ActivityHistory::Item& activity = _activityHistory[i];
846+
847+ if (_structure[i].isActive ) {
848+ if (activity < 0 )
849+ activity = +1 ;
850+ else
851+ activity = activity < INT8_MAX ? activity + 1 : activity;
852+ } else {
853+ if (activity > 0 )
854+ activity = -1 ;
855+ else
856+ activity = activity > INT8_MIN ? activity - 1 : activity;
863857 }
858+
859+ ++i;
860+ }
864861}
865862
866863#endif
0 commit comments