X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=suffixtree.cpp;h=fd18109513bea9f59590e16a1c705128f61ca43e;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=9cd835185c31a61bd024590f5a3fc7396d31610f;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0;p=mothur.git diff --git a/suffixtree.cpp b/suffixtree.cpp index 9cd8351..fd18109 100644 --- a/suffixtree.cpp +++ b/suffixtree.cpp @@ -33,6 +33,25 @@ inline bool compareParents(SuffixNode* left, SuffixNode* right){// this is neces return (left->getParentNode() < right->getParentNode()); // nodes in order of their parent } +//******************************************************************************************************************** + +SuffixTree::SuffixTree(const SuffixTree& st) : root(st.root), activeEndPosition(st.activeEndPosition), activeStartPosition(st.activeStartPosition), activeNode(st.activeNode), + nodeCounter(st.nodeCounter), seqName(st.seqName), sequence(st.sequence) { + try { + m = MothurOut::getInstance(); + + for (int i = 0; i < st.nodeVector.size(); i++) { + SuffixNode* temp = new SuffixBranch(*((SuffixBranch*)st.nodeVector[i])); + nodeVector.push_back(temp); + } + + + }catch(exception& e) { + m->errorOut(e, "SuffixTree", "SuffixTree"); + exit(1); + } +} + //******************************************************************************************************************** SuffixTree::SuffixTree(){ m = MothurOut::getInstance(); }