Привет всем, у меня есть проблема поиска данных внутри большой карты, которую я создал. Я создаю FSM с моей структурой. У меня есть несколько condition
s, которые должны быть добавлены к определенным Transition
с (на основе следующих условий). condition
должны быть добавлены к Transition
между двумя состояниями s1 & s2, если state s1
находится в определенном set s1Set
а также state s2
находится в set s2Set
,
Так как у меня есть несколько условий, каждое из которых имеет пару наборов, я создал эту карту для возможности проверки.
std::map<std::set<int>, std::pair<std::set<StateArch*>, std::set<StateArch*> > > mapBypassConditions;
Множество целочисленных значений — это мое состояние, а пара наборов — это то место, где я ищу S1 и S2.
Тем не менее, я чувствую, что это очень неэффективно, потому что для каждого перехода в моем FSM мне нужно пройти всю карту и найти S1 и S2 и проверить, нужно ли мне добавить условие к нему.
У вас, ребята, есть идеи получше? Возможно, лучшая организация карты?
постскриптум Я использую C ++ 98, так как фреймворк немного устарел и еще не работает с более новыми версиями
Задача ещё не решена.
Других решений пока нет …