GPTreeNode* GPTreeADFPoint::xmlPrint() const { if (NULL == mFunc) { std::ostringstream out; out << mInputPos; return new GPTreeNode(GPStrings::GPTreeADF_INPUTS, out.str()); } GPTreeNode* root = new GPTreeNode(GPStrings::GPTreeADF_FUNCTION, mFunc->name); GPPtr<GPTreeNode> status = new GPTreeNode(GPStrings::GPTreeADF_STATUS, ""); root->addChild(status); for (int j=0; j<mStatus.size(); ++j) { const IStatusType* s = mStatus[j]->type(); std::ostringstream values; mStatus[j]->print(values); status->addChild(s->name(), values.str()); } GPPtr<GPTreeNode> children = new GPTreeNode(GPStrings::GPTreeADF_CHILDREN, ""); root->addChild(children); GPASSERT(mChildren.size() == mFunc->inputType.size()); for (int i=0; i<mChildren.size(); ++i) { GPTreeADFPoint* p = (GPTreeADFPoint*)(mChildren[i]); children->addChild(p->xmlPrint()); } return root; }
GPTreeNode* GPTreeADF::vSave() const { GPASSERT(NULL!=mRoot); GPTreeNode* root = new GPTreeNode("GPTreeADF", ""); root->addChild(mRoot->xmlPrint()); return root; }
virtual GPTreeNode* vSave() const { GPTreeNode* root = new GPTreeNode("AdaptorGP", ""); std::ostringstream orderid; for (auto id : mInputOrder) { orderid << id << " "; } root->addChild(new GPTreeNode("Order", orderid.str())); root->addChild(mBase->vSave()); return root; }
GPTreeNode* GPTreeADFPoint::xmlPrint() const { GPTreeNode* root = new GPTreeNode(GPStrings::GPTreeADF_FUNCTION, mFunc.basic->name); GPPtr<GPTreeNode> status = new GPTreeNode(GPStrings::GPTreeADF_STATUS, ""); root->addChild(status); for (int j=0; j<mStatus.size(); ++j) { const IStatusType* s = mStatus[j]->type(); std::ostringstream values; mStatus[j]->print(values); status->addChild(s->name(), values.str()); } GPPtr<GPTreeNode> children = new GPTreeNode(GPStrings::GPTreeADF_CHILDREN, ""); root->addChild(children); for (int i=0; i<mChildren.size(); ++i) { GPTreeADFPoint* p = (GPTreeADFPoint*)(mChildren[i]); children->addChild(p->xmlPrint()); } if (mFunc.inputs.size() > 0) { std::ostringstream inputTypes; for (int i=0; i<mFunc.inputs.size(); ++i) { inputTypes << mFunc.inputs[i]->name() << " "; } GPPtr<GPTreeNode> inputs = new GPTreeNode(GPStrings::GPTreeADF_INPUTS, inputTypes.str()); root->addChild(inputs); std::ostringstream childflags; for (int i=0; i<mFunc.useChildrenInput.size(); ++i) { childflags << mFunc.useChildrenInput[i] << " "; } GPPtr<GPTreeNode> childflagsn = new GPTreeNode(GPStrings::GPTreeADF_INPUTFLAGS, childflags.str()); root->addChild(childflagsn); } return root; }