/** Finds a node below (or at) this level in the tree with the given name @param name The name of the child we are interested in finding @return The task, if found. If not found, NULL. */ AREXPORT ArSyncTask *ArSyncTask::find(ArFunctor *functor) { ArSyncTask *proc; std::multimap<int, ArSyncTask *>::iterator it; if (myFunctor == functor) return this; for (it = myMultiMap.begin(); it != myMultiMap.end(); ++it) { proc = (*it).second; if (proc->find(functor) != NULL) return proc; } return NULL; }
/** Finds a node below (or at) this level in the tree with the given name @param name The name of the child we are interested in finding @return The task, if found. If not found, NULL. */ AREXPORT ArSyncTask *ArSyncTask::find(const char *name) { ArSyncTask *proc; std::multimap<int, ArSyncTask *>::iterator it; if (strcmp(myName.c_str(), name) == 0) return this; for (it = myMultiMap.begin(); it != myMultiMap.end(); ++it) { proc = (*it).second; if (proc->find(name) != NULL) return proc; } return NULL; }