/* DESTRUCTOR */ NXMoleculeSet::~NXMoleculeSet() { if(deleteInDestructor) { OBMolIterator molIter; for(molIter = moleculesBegin(); molIter != moleculesEnd(); ++molIter) delete *molIter; NXMoleculeSetIterator molSetIter; for(molSetIter = childrenBegin(); molSetIter != childrenEnd(); ++molSetIter) delete *molSetIter; } }
void DtdPossibleContent::toStream( std::ostream& stream, int indentation ) { //le parcours ici est assez simple CALL_MACRO; if(this->_type == T_ELEM){//si c'est un element, ne pas le faire précéder //par une parenthese stream<<this->_value; stream<<DtdPossibleContent::ToStr(this->_multiplicity); }else{ //si c'est un choix ou une séquence, ajouter une parenthèse stream<<"("; //afficher le premier fils PossibleContentList::iterator it = this->firstChild(); (*it)->toStream(stream); //parcourir le reste et afficher le bon type de séparateur "|" ou "," if(_type == T_CHOICE){ for(it++; it != childrenEnd(); it++) { stream<<"|"; (*it)->toStream(stream); } }else{ for(it++; it != childrenEnd(); it++) { stream<<","; (*it)->toStream(stream); } } //ajouter la parenthese fermante stream<<")"; //ajouter la multiplicité stream<<ToStr(this->_multiplicity); } }
bool NXMoleculeSet::empty(void) { if(molecules.empty()) { list<NXMoleculeSet*>::const_iterator childrenIter; for(childrenIter = childrenBegin(); childrenIter != childrenEnd(); ++childrenIter) { NXMoleculeSet *const childMolSetPtr = *childrenIter; if(!childMolSetPtr->empty()) return false; } return true; // children are also empty } else return false; }
CImagePtr CSVGFeComponentTransfer:: filterImage(CImagePtr src_image) { CImagePtr dst_image = src_image->dup(); ObjectList::const_iterator p1, p2; for (p1 = childrenBegin(), p2 = childrenEnd(); p1 != p2; ++p1) { CSVGFeFunc *func = dynamic_cast<CSVGFeFunc *>(*p1); if (func) dst_image = func->filterImage(dst_image); } return dst_image; }
CImagePtr CSVGFilter:: filterImage(CImagePtr image) { svg_.setBufferImage("SourceGraphic", image); ObjectList::const_iterator p1, p2; for (p1 = childrenBegin(), p2 = childrenEnd(); p1 != p2; ++p1) { CSVGFilter *filter = dynamic_cast<CSVGFilter *>(*p1); if (filter) filter->draw(); } image = svg_.getBufferImage("SourceGraphic"); return image; }
void ProfileNode::sort(bool comparator(const RefPtr<ProfileNode>& , const RefPtr<ProfileNode>& )) { std::sort(childrenBegin(), childrenEnd(), comparator); resetChildrensSiblings(); }