diff --git a/alib2raw/src/tree/TreeFromRawParser.cpp b/alib2raw/src/tree/TreeFromRawParser.cpp index ac21a43f1e8c600c1dc9413e23c3ad3d67702ea4..84da2ecc53772f5db3d72f32b03042c3b784a523 100644 --- a/alib2raw/src/tree/TreeFromRawParser.cpp +++ b/alib2raw/src/tree/TreeFromRawParser.cpp @@ -41,12 +41,12 @@ RankedTreeWrapper TreeFromRawParser::parseRankedTree(ext::deque<sax::Token>::ite RankedTreeWrapper TreeFromRawParser::parseRankedTree(ext::deque<sax::Token>::iterator& input, const ext::set<FEATURES>& features) const { UnrankedTree < alphabet::Symbol > tree(this->parseContent(input)); + if(features.count(FEATURES::RANKED_TREE)) return RankedTreeWrapper{RankedTree < alphabet::Symbol, primitive::Unsigned > {tree}}; + if(features.count(FEATURES::PREFIX_RANKED_TREE)) return RankedTreeWrapper{PrefixRankedTree < alphabet::Symbol, primitive::Unsigned > {RankedTree < alphabet::Symbol, primitive::Unsigned > {tree}}}; if(features.count(FEATURES::PREFIX_RANKED_BAR_TREE)) return RankedTreeWrapper{PrefixRankedBarTree < alphabet::Symbol, primitive::Unsigned > {alphabet::Symbol{alphabet::BarSymbol{}}, RankedTree < alphabet::Symbol, primitive::Unsigned > {tree}}}; - if(features.count(FEATURES::RANKED_TREE)) return RankedTreeWrapper{RankedTree < alphabet::Symbol, primitive::Unsigned > {tree}}; - throw exception::CommonException("Invalid input"); }