diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-05-12 22:47:38 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-05-12 22:47:38 (GMT) |
commit | 280b5072b35cb9658ad4e6be0203a587c0593b1c (patch) | |
tree | abfb59100608dba6df017d3ed52cde3bdf471b74 /src/uscxml/interpreter/MicroStepFast.cpp | |
parent | 11e7301fb1f86a35e35072c8e4753095d28dc43c (diff) | |
download | uscxml-280b5072b35cb9658ad4e6be0203a587c0593b1c.zip uscxml-280b5072b35cb9658ad4e6be0203a587c0593b1c.tar.gz uscxml-280b5072b35cb9658ad4e6be0203a587c0593b1c.tar.bz2 |
Conditionalized V8 on version and used C++11 list initializers
Diffstat (limited to 'src/uscxml/interpreter/MicroStepFast.cpp')
-rw-r--r-- | src/uscxml/interpreter/MicroStepFast.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/uscxml/interpreter/MicroStepFast.cpp b/src/uscxml/interpreter/MicroStepFast.cpp index fbddbc9..158c3ee 100644 --- a/src/uscxml/interpreter/MicroStepFast.cpp +++ b/src/uscxml/interpreter/MicroStepFast.cpp @@ -172,18 +172,17 @@ void MicroStepFast::init(xercesc::DOMElement* scxml) { /** -- All things states -- */ - std::set<std::string> elements; - elements.insert(_xmlPrefix.str() + "state"); - elements.insert(_xmlPrefix.str() + "parallel"); - elements.insert(_xmlPrefix.str() + "scxml"); - elements.insert(_xmlPrefix.str() + "initial"); - elements.insert(_xmlPrefix.str() + "final"); - elements.insert(_xmlPrefix.str() + "history"); - std::list<xercesc::DOMElement*> tmp; size_t i, j; - tmp = DOMUtils::inDocumentOrder(elements, _scxml); + tmp = DOMUtils::inDocumentOrder({ + _xmlPrefix.str() + "state", + _xmlPrefix.str() + "parallel", + _xmlPrefix.str() + "scxml", + _xmlPrefix.str() + "initial", + _xmlPrefix.str() + "final", + _xmlPrefix.str() + "history"}, _scxml); + _states.resize(tmp.size()); _configuration.resize(tmp.size()); _history.resize(tmp.size()); @@ -308,7 +307,7 @@ void MicroStepFast::init(xercesc::DOMElement* scxml) { /** -- All things transitions -- */ - tmp = DOMUtils::inPostFixOrder(_xmlPrefix.str() + "transition", _scxml); + tmp = DOMUtils::inPostFixOrder({_xmlPrefix.str() + "transition"}, _scxml); _transitions.resize(tmp.size()); for (i = 0; i < _transitions.size(); i++) { @@ -319,10 +318,13 @@ void MicroStepFast::init(xercesc::DOMElement* scxml) { _transitions[i]->target.resize(_states.size()); tmp.pop_front(); } - + assert(tmp.size() == 0); + for (i = 0; i < _transitions.size(); i++) { // establish the transitions' exit set + assert(_transitions[i]->element != NULL); + std::cout << "i: " << i << std::endl << std::flush; std::list<DOMElement*> exitList = getExitSet(_transitions[i]->element, _scxml); for (j = 0; j < _states.size(); j++) { if (!exitList.empty() && _states[j]->element == exitList.front()) { |