diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-07-07 00:38:46 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-07-07 00:38:46 (GMT) |
commit | d5e1f6397c52513018cd59972cf5ca8740de18eb (patch) | |
tree | 80448f6b414373f799273ed777ed0b7260605bdb /src/uscxml/interpreter/InterpreterDraft6.h | |
parent | 41312059e5d25539d3cd071829a505ebb7293393 (diff) | |
download | uscxml-d5e1f6397c52513018cd59972cf5ca8740de18eb.zip uscxml-d5e1f6397c52513018cd59972cf5ca8740de18eb.tar.gz uscxml-d5e1f6397c52513018cd59972cf5ca8740de18eb.tar.bz2 |
Appr. 15% performance boost by avoiding dynamic_cast in DOM
Diffstat (limited to 'src/uscxml/interpreter/InterpreterDraft6.h')
-rw-r--r-- | src/uscxml/interpreter/InterpreterDraft6.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/uscxml/interpreter/InterpreterDraft6.h b/src/uscxml/interpreter/InterpreterDraft6.h index cf73d4b..297434f 100644 --- a/src/uscxml/interpreter/InterpreterDraft6.h +++ b/src/uscxml/interpreter/InterpreterDraft6.h @@ -35,7 +35,7 @@ protected: void microstep(const Arabica::XPath::NodeSet<std::string>& enabledTransitions); void enterStates(const Arabica::XPath::NodeSet<std::string>& enabledTransitions); - void addStatesToEnter(const Arabica::DOM::Node<std::string>& state, + void addStatesToEnter(const Arabica::DOM::Element<std::string>& state, Arabica::XPath::NodeSet<std::string>& statesToEnter, Arabica::XPath::NodeSet<std::string>& statesForDefaultEntry, Arabica::XPath::NodeSet<std::string>& defaultHistoryContent); @@ -46,13 +46,13 @@ protected: Arabica::XPath::NodeSet<std::string> selectEventlessTransitions(); Arabica::XPath::NodeSet<std::string> selectTransitions(const std::string& event); Arabica::XPath::NodeSet<std::string> filterPreempted(const Arabica::XPath::NodeSet<std::string>& enabledTransitions); - bool isPreemptingTransition(const Arabica::DOM::Node<std::string>& t1, const Arabica::DOM::Node<std::string>& t2); - bool isEnabledTransition(const Arabica::DOM::Node<std::string>& transition, const std::string& event); + bool isPreemptingTransition(const Arabica::DOM::Element<std::string>& t1, const Arabica::DOM::Element<std::string>& t2); + bool isEnabledTransition(const Arabica::DOM::Element<std::string>& transition, const std::string& event); Arabica::XPath::NodeSet<std::string> getDocumentInitialTransitions(); - bool isCrossingBounds(const Arabica::DOM::Node<std::string>& transition); - bool isWithinParallel(const Arabica::DOM::Node<std::string>& transition); + bool isCrossingBounds(const Arabica::DOM::Element<std::string>& transition); + bool isWithinParallel(const Arabica::DOM::Element<std::string>& transition); Arabica::DOM::Node<std::string> findLCPA(const Arabica::XPath::NodeSet<std::string>& states); }; |