void ComputationNetwork::RenameNode(ComputationNodeBasePtr node, const std::wstring& newNodeName) { // TODO: check if new name exists m_nameToNodeMap.erase(node->NodeName()); node->SetNodeName(newNodeName); AddNodeToNet(node); }
void ComputationNetwork::RenameNode(ComputationNodeBasePtr node, const std::wstring& newNodeName) { // make sure the new name is not already used auto iter = m_nameToNodeMap.find(newNodeName); if (iter != m_nameToNodeMap.end()) // found RuntimeError("RenameNode: Target name already exists."); InvalidateCompiledNetwork(); RemoveNodeFromNet(node); // take it out remporarily node->SetNodeName(newNodeName); // change the name AddNodeToNet(node); // and put it back }
// RenameNode - Rename a node to another name // nodeNameOrig - original node name // nodeNameNew - new node name void ComputationNetwork::RenameNode(const std::wstring& nodeNameOrig, const std::wstring& nodeNameNew) { InvalidateCompiledNetwork(); ComputationNodeBasePtr nodeToRename = GetNodeFromName(nodeNameOrig); auto iter = m_nameToNodeMap.find(nodeNameNew); if (iter != m_nameToNodeMap.end()) // found RuntimeError("RenameNode: Target name already exists."); // rename the node and update the mapping table nodeToRename->SetNodeName(nodeNameNew); m_nameToNodeMap.erase(nodeNameOrig); m_nameToNodeMap[nodeNameNew] = nodeToRename; }