18 #include <boost/algorithm/string.hpp>
29 : currentNode(nullptr)
39 while ((thisNode = iter()))
56 while ((thisNode = iter()))
58 if (thisNode->
getType() == requiredType && thisNode->
getName() == requiredName)
64 if (thisNode->
getType() ==
"PHCompositeNode")
67 PHNode* nodeFoundInSubTree = nodeIter.
findFirst(requiredType.c_str(), requiredName.c_str());
68 if (nodeFoundInSubTree)
return nodeFoundInSubTree;
80 while ((thisNode = iter()))
82 if (thisNode->
getName() == requiredName)
88 if (thisNode->
getType() ==
"PHCompositeNode")
92 if (nodeFoundInSubTree)
94 return nodeFoundInSubTree;
105 if (pathString.empty())
114 std::vector<std::string> splitpath;
119 for (std::vector<std::string>::const_iterator iter = splitpath.begin(); iter != splitpath.end(); ++iter)
137 while ((subNode = subNodeIter()))
139 if (subNode->
getType() ==
"PHCompositeNode" && subNode->
getName() == *iter)
165 while ((thisNode = iter()))
167 if (thisNode->
getType() ==
"PHCompositeNode")
169 PHNodeIterator subNodeIter(static_cast<PHCompositeNode*>(thisNode));
170 subNodeIter.
forEach(operation);