MessageList check(const NodePtr& node, const CheckPtr& check) { // check node for null if (!node) { return MessageList(Message(NodeAddress(node), EC_STRUCTURE_NULL_NODE, "Checking Null node!", Message::WARNING)); } // collect messages .. auto res = check->visit(NodeAddress(node)); if (res) { // => list is not empty ... return list return *res; } // return an empty list ... return MessageList(); }
NodeAddress ChainNarratorNodeIterator::nextInChain(ChainNarratorNodeIterator & node) { assert (node==*this); ChainNarratorNodeIterator next=--node; if (!next.isNull()) return NodeAddress(next->getCorrespondingNarratorNode (), next); else return nullNodeAddress; }
NodeAddress ChainNarratorNodeIterator::prevInChain(ChainNarratorNodeIterator & node) { assert (node==*this); ChainNarratorNodeIterator prev=--node; if (!prev.isNull()) return NodeAddress(prev->getCorrespondingNarratorNode(), prev); else return nullNodeAddress; }