20 void insert(
const vector<State> &
states,
State synchronisedState);
21 State getSynchronisedState(
const vector<State> & states)
const;
29 vector<State>::size_type index = 0;
33 current->
state = states[index];
36 while(index != states.size()-1)
38 if(current->
state == states[index])
40 if(current->
down == 0)
45 current = current->
down;
50 if(current->
state.id() < states[index].id())
52 if(current->
next == 0)
57 current = current->
next;
66 current->
state = states[index];
70 if(current->
down == 0)
85 vector<State>::size_type index = 0;
87 while(!exit && (index != states.size()))
89 if(current->
state == states[index])
91 if(current->
down != 0)
93 current = current->
down;
98 assertion(StateNodeInvalid, index != states.size(),
"getSynchronisedState: the synchronised state of the visited state is not there");
104 if(current->
state.id() < states[index].id())
106 if(current->
next != 0)
108 current = current->
next;
122 if(index = states.size() )
124 result = current->
state;
State getSynchronisedState(const vector< State > &states) const
void insert(const vector< State > &states, State synchronisedState)
#define assertion(Exception, expr, message)