summaryrefslogtreecommitdiffstats
path: root/src/xmlpatterns/schema/qxsdstatemachine.cpp
diff options
context:
space:
mode:
authorFrans Englich <frans.englich@nokia.com>2009-10-27 09:58:28 (GMT)
committerFrans Englich <frans.englich@nokia.com>2009-10-27 10:05:07 (GMT)
commit890fbc5c6a271d345ec5a47501c4ae716a96fe44 (patch)
treef287fb0976e842b5c1e411eaf334f412e01d1d8a /src/xmlpatterns/schema/qxsdstatemachine.cpp
parenta36ee30a9753c766be1017550df581ab941b87e3 (diff)
downloadQt-890fbc5c6a271d345ec5a47501c4ae716a96fe44.zip
Qt-890fbc5c6a271d345ec5a47501c4ae716a96fe44.tar.gz
Qt-890fbc5c6a271d345ec5a47501c4ae716a96fe44.tar.bz2
Compile on Symbian winscw.
Patch by Martin Jones. Malformed in codepaster so was manually applied. Builds with public 5th SDK. The compiler workaround was documented. Reviewed-by: Frans Englich
Diffstat (limited to 'src/xmlpatterns/schema/qxsdstatemachine.cpp')
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine.cpp64
1 files changed, 0 insertions, 64 deletions
diff --git a/src/xmlpatterns/schema/qxsdstatemachine.cpp b/src/xmlpatterns/schema/qxsdstatemachine.cpp
index 85bc752..8a43411 100644
--- a/src/xmlpatterns/schema/qxsdstatemachine.cpp
+++ b/src/xmlpatterns/schema/qxsdstatemachine.cpp
@@ -335,64 +335,6 @@ typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType
return dfaState;
}
-
-template <typename TransitionType>
-QSet<typename XsdStateMachine<TransitionType>::StateId> XsdStateMachine<TransitionType>::epsilonClosure(const QSet<StateId> &input) const
-{
- // every state can reach itself by epsilon transition, so include the input states
- // in the result as well
- QSet<StateId> result = input;
-
- // add the input states to the list of to be processed states
- QList<StateId> workStates = input.toList();
- while (!workStates.isEmpty()) { // while there are states to be processed left...
-
- // dequeue one state from list
- const StateId state = workStates.takeFirst();
-
- // get the list of states that can be reached by the epsilon transition
- // from the current 'state'
- const QVector<StateId> targetStates = m_epsilonTransitions.value(state);
- for (int i = 0; i < targetStates.count(); ++i) {
- // if we have this target state not in our result set yet...
- if (!result.contains(targetStates.at(i))) {
- // ... add it to the result set
- result.insert(targetStates.at(i));
-
- // add the target state to the list of to be processed states as well,
- // as we want to have the epsilon transitions not only for the first
- // level of following states
- workStates.append(targetStates.at(i));
- }
- }
- }
-
- return result;
-}
-
-template <typename TransitionType>
-QSet<typename XsdStateMachine<TransitionType>::StateId> XsdStateMachine<TransitionType>::move(const QSet<StateId> &states, TransitionType input) const
-{
- QSet<StateId> result;
-
- QSetIterator<StateId> it(states);
- while (it.hasNext()) { // iterate over all given states
- const StateId state = it.next();
-
- // get the transition table for the current state
- const QHash<TransitionType, QVector<StateId> > transitions = m_transitions.value(state);
-
- // get the target states for the given input
- const QVector<StateId> targetStates = transitions.value(input);
-
- // add all target states to the result
- for (int i = 0; i < targetStates.size(); ++i)
- result.insert(targetStates.at(i));
- }
-
- return result;
-}
-
template <typename TransitionType>
XsdStateMachine<TransitionType> XsdStateMachine<TransitionType>::toDFA() const
{
@@ -469,9 +411,3 @@ QHash<typename XsdStateMachine<TransitionType>::StateId, typename XsdStateMachin
{
return m_states;
}
-
-template <typename TransitionType>
-QHash<typename XsdStateMachine<TransitionType>::StateId, QHash<TransitionType, QVector<typename XsdStateMachine<TransitionType>::StateId> > > XsdStateMachine<TransitionType>::transitions() const
-{
- return m_transitions;
-}