Skip to content
Snippets Groups Projects
Commit 8c406d31 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

use cli in aquery binary

parent a7abfcaa
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 23 additions and 118 deletions
......@@ -6,20 +6,14 @@
*/
 
#include "CompressedBitParallelismPatterns.h"
#include <tree/ranked/PrefixRankedPattern.h>
#include <registration/AlgoRegistration.hpp>
 
namespace arbology {
 
namespace query {
 
ext::set < unsigned > CompressedBitParallelismPatterns::query ( const indexes::arbology::CompressedBitParallelTreeIndex < > & compressedBitParallelIndex, const tree::RankedTreeWrapper & tree ) {
return dispatch ( compressedBitParallelIndex, tree.getData ( ) );
}
auto CompressedBitParallelismPatternsPrefixRankedPattern = registration::OverloadRegister < CompressedBitParallelismPatterns, ext::set < unsigned >, tree::PrefixRankedPattern < > > ( CompressedBitParallelismPatterns::query );
auto CompressedBitParallelismPatternsPrefixRankedBarPattern = registration::OverloadRegister < CompressedBitParallelismPatterns, ext::set < unsigned >, tree::PrefixRankedBarPattern < > > ( CompressedBitParallelismPatterns::query );
auto CompressedBitParallelismPatternsPrefixRankedPattern = registration::AbstractRegister < CompressedBitParallelismPatterns, ext::set < unsigned >, const indexes::arbology::CompressedBitParallelTreeIndex < > &, const tree::PrefixRankedPattern < > & > ( CompressedBitParallelismPatterns::query );
auto CompressedBitParallelismPatternsPrefixRankedBarPattern = registration::AbstractRegister < CompressedBitParallelismPatterns, ext::set < unsigned >, const indexes::arbology::CompressedBitParallelTreeIndex < > &, const tree::PrefixRankedBarPattern < > & > ( CompressedBitParallelismPatterns::query );
 
} /* namespace query */
 
......
......@@ -9,10 +9,8 @@
#define COMPRESSED_BIT_PARALLELISM_PATTERNS_H_
 
#include <indexes/arbology/CompressedBitParallelTreeIndex.h>
#include <tree/RankedTreeWrapper.h>
#include <tree/ranked/PrefixRankedPattern.h>
#include <tree/ranked/PrefixRankedBarPattern.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
namespace arbology {
......@@ -24,7 +22,7 @@ namespace query {
*
*/
 
class CompressedBitParallelismPatterns : public alib::SingleDispatchFirstStaticParam < CompressedBitParallelismPatterns, ext::set < unsigned >, const indexes::arbology::CompressedBitParallelTreeIndex < > &, const tree::RankedTreeBase & > {
class CompressedBitParallelismPatterns {
 
public:
/**
......@@ -33,8 +31,6 @@ public:
* @param tree tree to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::arbology::CompressedBitParallelTreeIndex < > & compressedBitParallelIndex, const tree::RankedTreeWrapper & pattern );
template < class SymbolType, class RankType >
static ext::set < unsigned > query ( const indexes::arbology::CompressedBitParallelTreeIndex < SymbolType, RankType > & compressedBitParallelTreeIndex, const tree::PrefixRankedPattern < SymbolType, RankType > & pattern );
 
......
......@@ -6,20 +6,14 @@
*/
 
#include "FullAndLinearIndexPatterns.h"
#include <tree/ranked/PrefixRankedPattern.h>
#include <registration/AlgoRegistration.hpp>
 
namespace arbology {
 
namespace query {
 
ext::set < unsigned > FullAndLinearIndexPatterns::query ( const indexes::arbology::FullAndLinearIndex < > & fullAndLinearIndex, const tree::RankedTreeWrapper & tree ) {
return dispatch ( fullAndLinearIndex, tree.getData ( ) );
}
auto fullAndLinearIndexPatternsPrefixRankedPattern = registration::OverloadRegister < FullAndLinearIndexPatterns, ext::set < unsigned >, tree::PrefixRankedPattern < > > ( FullAndLinearIndexPatterns::query );
auto fullAndLinearIndexPatternsPrefixRankedBarPattern = registration::OverloadRegister < FullAndLinearIndexPatterns, ext::set < unsigned >, tree::PrefixRankedBarPattern < > > ( FullAndLinearIndexPatterns::query );
auto fullAndLinearIndexPatternsPrefixRankedPattern = registration::AbstractRegister < FullAndLinearIndexPatterns, ext::set < unsigned >, const indexes::arbology::FullAndLinearIndex < > &, const tree::PrefixRankedPattern < > & > ( FullAndLinearIndexPatterns::query );
auto fullAndLinearIndexPatternsPrefixRankedBarPattern = registration::AbstractRegister < FullAndLinearIndexPatterns, ext::set < unsigned >, const indexes::arbology::FullAndLinearIndex < > &, const tree::PrefixRankedBarPattern < > & > ( FullAndLinearIndexPatterns::query );
 
} /* namespace query */
 
......
......@@ -9,10 +9,8 @@
#define FULL_AND_LINEAR_INDEX_PATTERNS_H_
 
#include <indexes/arbology/FullAndLinearIndex.h>
#include <tree/RankedTreeWrapper.h>
#include <tree/ranked/PrefixRankedPattern.h>
#include <tree/ranked/PrefixRankedBarPattern.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
#include <stringology/query/PositionHeapFactors.h>
......@@ -26,7 +24,7 @@ namespace query {
*
*/
 
class FullAndLinearIndexPatterns : public alib::SingleDispatchFirstStaticParam < FullAndLinearIndexPatterns, ext::set < unsigned >, const indexes::arbology::FullAndLinearIndex < > &, const tree::RankedTreeBase & > {
class FullAndLinearIndexPatterns {
template < class SymbolType, class RankType >
static ext::vector < std::pair < unsigned, unsigned > > FindOccurrences ( const indexes::stringology::PositionHeap < common::ranked_symbol < SymbolType, RankType > > & stringIndex, const ext::vector < common::ranked_symbol < SymbolType, RankType > > & string ) {
ext::vector < std::pair < unsigned, unsigned > > res;
......@@ -61,8 +59,6 @@ public:
* @param tree tree to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::arbology::FullAndLinearIndex < > & fullAndLinearIndex, const tree::RankedTreeWrapper & pattern );
template < class SymbolType, class RankType >
static ext::set < unsigned > query ( const indexes::arbology::FullAndLinearIndex < SymbolType, RankType > & compressedBitParallelTreeIndex, const tree::PrefixRankedPattern < SymbolType, RankType > & pattern );
 
......
......@@ -6,19 +6,13 @@
*/
 
#include "NonlinearCompressedBitParallelismPatterns.h"
#include <tree/ranked/PrefixRankedPattern.h>
#include <registration/AlgoRegistration.hpp>
 
namespace arbology {
 
namespace query {
 
ext::set < unsigned > NonlinearCompressedBitParallelismPatterns::query ( const indexes::arbology::NonlinearCompressedBitParallelTreeIndex < > & nonlinearCompressedBitParallelIndex, const tree::RankedTreeWrapper & tree ) {
return dispatch ( nonlinearCompressedBitParallelIndex, tree.getData ( ) );
}
auto NonlinearCompressedBitParallelismPatternsPrefixRankedBarPattern = registration::OverloadRegister < NonlinearCompressedBitParallelismPatterns, ext::set < unsigned >, tree::PrefixRankedBarNonlinearPattern < > > ( NonlinearCompressedBitParallelismPatterns::query );
auto NonlinearCompressedBitParallelismPatternsPrefixRankedBarPattern = registration::AbstractRegister < NonlinearCompressedBitParallelismPatterns, ext::set < unsigned >, const indexes::arbology::NonlinearCompressedBitParallelTreeIndex < > &, const tree::PrefixRankedBarNonlinearPattern < > & > ( NonlinearCompressedBitParallelismPatterns::query );
 
} /* namespace query */
 
......
......@@ -9,9 +9,7 @@
#define NONLINEAR_COMPRESSED_BIT_PARALLELISM_PATTERNS_H_
 
#include <indexes/arbology/NonlinearCompressedBitParallelTreeIndex.h>
#include <tree/RankedTreeWrapper.h>
#include <tree/ranked/PrefixRankedBarNonlinearPattern.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
namespace arbology {
......@@ -23,7 +21,7 @@ namespace query {
*
*/
 
class NonlinearCompressedBitParallelismPatterns : public alib::SingleDispatchFirstStaticParam < NonlinearCompressedBitParallelismPatterns, ext::set < unsigned >, const indexes::arbology::NonlinearCompressedBitParallelTreeIndex < > &, const tree::RankedTreeBase & > {
class NonlinearCompressedBitParallelismPatterns {
 
public:
/**
......@@ -32,8 +30,6 @@ public:
* @param tree tree to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::arbology::NonlinearCompressedBitParallelTreeIndex < > & nonlinearCompressedBitParallelIndex, const tree::RankedTreeWrapper & pattern );
template < class SymbolType, class RankType >
static ext::set < unsigned > query ( const indexes::arbology::NonlinearCompressedBitParallelTreeIndex < SymbolType, RankType > & nonlinearCompressedBitParallelTreeIndex, const tree::PrefixRankedBarNonlinearPattern < SymbolType, RankType > & pattern );
};
......
......@@ -6,20 +6,14 @@
*/
 
#include "NonlinearFullAndLinearIndexPatterns.h"
#include <tree/ranked/PrefixRankedPattern.h>
#include <registration/AlgoRegistration.hpp>
 
namespace arbology {
 
namespace query {
 
ext::set < unsigned > NonlinearFullAndLinearIndexPatterns::query ( const indexes::arbology::NonlinearFullAndLinearIndex < > & nonlinearFullAndLinearIndex, const tree::RankedTreeWrapper & tree ) {
return dispatch ( nonlinearFullAndLinearIndex, tree.getData ( ) );
}
auto nonlinearFullAndLinearIndexPatternsPrefixRankedPattern = registration::OverloadRegister < NonlinearFullAndLinearIndexPatterns, ext::set < unsigned >, tree::PrefixRankedNonlinearPattern < > > ( NonlinearFullAndLinearIndexPatterns::query );
auto nonlinearFullAndLinearIndexPatternsPrefixRankedBarPattern = registration::OverloadRegister < NonlinearFullAndLinearIndexPatterns, ext::set < unsigned >, tree::PrefixRankedBarNonlinearPattern < > > ( NonlinearFullAndLinearIndexPatterns::query );
auto nonlinearFullAndLinearIndexPatternsPrefixRankedPattern = registration::AbstractRegister < NonlinearFullAndLinearIndexPatterns, ext::set < unsigned >, const indexes::arbology::NonlinearFullAndLinearIndex < > &, const tree::PrefixRankedNonlinearPattern < > & > ( NonlinearFullAndLinearIndexPatterns::query );
auto nonlinearFullAndLinearIndexPatternsPrefixRankedBarPattern = registration::AbstractRegister < NonlinearFullAndLinearIndexPatterns, ext::set < unsigned >, const indexes::arbology::NonlinearFullAndLinearIndex < > &, const tree::PrefixRankedBarNonlinearPattern < > & > ( NonlinearFullAndLinearIndexPatterns::query );
 
} /* namespace query */
 
......
......@@ -9,10 +9,8 @@
#define NONLINEAR_FULL_AND_LINEAR_INDEX_PATTERNS_H_
 
#include <indexes/arbology/NonlinearFullAndLinearIndex.h>
#include <tree/RankedTreeWrapper.h>
#include <tree/ranked/PrefixRankedNonlinearPattern.h>
#include <tree/ranked/PrefixRankedBarNonlinearPattern.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
#include <stringology/query/PositionHeapFactors.h>
......@@ -26,7 +24,7 @@ namespace query {
*
*/
 
class NonlinearFullAndLinearIndexPatterns : public alib::SingleDispatchFirstStaticParam < NonlinearFullAndLinearIndexPatterns, ext::set < unsigned >, const indexes::arbology::NonlinearFullAndLinearIndex < > &, const tree::RankedTreeBase & > {
class NonlinearFullAndLinearIndexPatterns {
template < class SymbolType, class RankType >
static ext::vector < std::pair < unsigned, unsigned > > FindOccurrences ( const indexes::stringology::PositionHeap < common::ranked_symbol < SymbolType, RankType > > & stringIndex, const ext::vector < common::ranked_symbol < SymbolType, RankType > > & string ) {
ext::vector < std::pair < unsigned, unsigned > > res;
......@@ -61,8 +59,6 @@ public:
* @param tree tree to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::arbology::NonlinearFullAndLinearIndex < > & fullAndLinearIndex, const tree::RankedTreeWrapper & pattern );
template < class SymbolType, class RankType >
static ext::set < unsigned > query ( const indexes::arbology::NonlinearFullAndLinearIndex < SymbolType, RankType > & compressedBitParallelTreeIndex, const tree::PrefixRankedNonlinearPattern < SymbolType, RankType > & pattern );
 
......
......@@ -5,8 +5,6 @@
* Author: Jan Vesely
*/
 
#include <core/multipleDispatch.hpp>
#include "common/NFACommon.h"
 
#include <automaton/PDA/InputDrivenNPDA.h>
......
......@@ -8,7 +8,6 @@
#ifndef _AUTOMATON_RUN_H__
#define _AUTOMATON_RUN_H__
 
#include <core/multipleDispatch.hpp>
#include <string/LinearString.h>
#include <tree/ranked/RankedTree.h>
 
......
......@@ -6,19 +6,13 @@
*/
 
#include "BitParallelismFactors.h"
#include <string/LinearString.h>
#include <registration/AlgoRegistration.hpp>
 
namespace stringology {
 
namespace query {
 
ext::set < unsigned > BitParallelismFactors::query ( const indexes::stringology::BitParallelIndex < DefaultSymbolType > & bitParallelIndex, const string::String & string ) {
return dispatch ( bitParallelIndex, string.getData ( ) );
}
auto BitParallelismFactorsLinearString = registration::OverloadRegister < BitParallelismFactors, ext::set < unsigned >, string::LinearString < > > ( BitParallelismFactors::query );
auto BitParallelismFactorsLinearString = registration::AbstractRegister < BitParallelismFactors, ext::set < unsigned >, const indexes::stringology::BitParallelIndex < > &, const string::LinearString < > & > ( BitParallelismFactors::query );
 
} /* namespace query */
 
......
......@@ -9,9 +9,7 @@
#define BIT_PARALLELISM_FACTORS_H_
 
#include <indexes/stringology/BitParallelIndex.h>
#include <string/String.h>
#include <string/LinearString.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
#include <foreach>
......@@ -25,8 +23,7 @@ namespace query {
*
*/
 
class BitParallelismFactors : public alib::SingleDispatchFirstStaticParam < BitParallelismFactors, ext::set < unsigned >, const indexes::stringology::BitParallelIndex < DefaultSymbolType > &, const string::StringBase & > {
class BitParallelismFactors {
public:
/**
* Query a suffix trie
......@@ -34,8 +31,6 @@ public:
* @param string string to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::stringology::BitParallelIndex < DefaultSymbolType > & bitParallelIndex, const string::String & string );
template < class SymbolType >
static ext::set < unsigned > query ( const indexes::stringology::BitParallelIndex < SymbolType > & bitParallelIndex, const string::LinearString < SymbolType > & string );
 
......
......@@ -6,19 +6,13 @@
*/
 
#include "CompressedBitParallelismFactors.h"
#include <string/LinearString.h>
#include <registration/AlgoRegistration.hpp>
 
namespace stringology {
 
namespace query {
 
ext::set < unsigned > CompressedBitParallelismFactors::query ( const indexes::stringology::CompressedBitParallelIndex < DefaultSymbolType > & compressedBitParallelIndex, const string::String & string ) {
return dispatch ( compressedBitParallelIndex, string.getData ( ) );
}
auto CompressedBitParallelismFactorsLinearString = registration::OverloadRegister < CompressedBitParallelismFactors, ext::set < unsigned >, string::LinearString < > > ( CompressedBitParallelismFactors::query );
auto CompressedBitParallelismFactorsLinearString = registration::AbstractRegister < CompressedBitParallelismFactors, ext::set < unsigned >, const indexes::stringology::CompressedBitParallelIndex < > &, const string::LinearString < > & > ( CompressedBitParallelismFactors::query );
 
} /* namespace query */
 
......
......@@ -9,9 +9,7 @@
#define COMPRESSED_BIT_PARALLELISM_FACTORS_H_
 
#include <indexes/stringology/CompressedBitParallelIndex.h>
#include <string/String.h>
#include <string/LinearString.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
#include <foreach>
......@@ -25,7 +23,7 @@ namespace query {
*
*/
 
class CompressedBitParallelismFactors : public alib::SingleDispatchFirstStaticParam < CompressedBitParallelismFactors, ext::set < unsigned >, const indexes::stringology::CompressedBitParallelIndex < DefaultSymbolType > &, const string::StringBase & > {
class CompressedBitParallelismFactors {
 
public:
/**
......@@ -34,8 +32,6 @@ public:
* @param string the string to query with
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::stringology::CompressedBitParallelIndex < DefaultSymbolType > & compressedBitParallelIndex, const string::String & string );
template < class SymbolType >
static ext::set < unsigned > query ( const indexes::stringology::CompressedBitParallelIndex < SymbolType > & compressedBitParallelIndex, const string::LinearString < SymbolType > & string );
};
......
......@@ -6,19 +6,13 @@
*/
 
#include "PositionHeapFactors.h"
#include <string/LinearString.h>
#include <registration/AlgoRegistration.hpp>
 
namespace stringology {
 
namespace query {
 
ext::set < unsigned > PositionHeapFactors::query ( const indexes::stringology::PositionHeap < DefaultSymbolType > & positionHeap, const string::String & string ) {
return dispatch ( positionHeap, string.getData ( ) );
}
auto PositionHeapFactorsLinearString = registration::OverloadRegister < PositionHeapFactors, ext::set < unsigned >, string::LinearString < > > ( PositionHeapFactors::query );
auto PositionHeapFactorsLinearString = registration::AbstractRegister < PositionHeapFactors, ext::set < unsigned >, const indexes::stringology::PositionHeap < > &, const string::LinearString < > & > ( PositionHeapFactors::query );
 
} /* namespace query */
 
......
......@@ -9,9 +9,7 @@
#define POSITION_HEAP_FACTORS_H_
 
#include <indexes/stringology/PositionHeap.h>
#include <string/String.h>
#include <string/LinearString.h>
#include <core/multipleDispatch.hpp>
#include <global/GlobalData.h>
 
namespace stringology {
......@@ -26,7 +24,7 @@ namespace query {
*
*/
 
class PositionHeapFactors : public alib::SingleDispatchFirstStaticParam < PositionHeapFactors, ext::set < unsigned >, const indexes::stringology::PositionHeap < DefaultSymbolType > &, const string::StringBase & > {
class PositionHeapFactors {
template < class SymbolType >
static void accumulateResult ( const ext::trie < SymbolType, unsigned > & trie, ext::set < unsigned > & res, unsigned indexedStringSize ) {
res.insert ( indexedStringSize - trie.getData ( ) );
......@@ -55,8 +53,6 @@ public:
* @param string string to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::stringology::PositionHeap < DefaultSymbolType > & positionHeap, const string::String & string );
template < class SymbolType >
static ext::set < unsigned > query ( const indexes::stringology::PositionHeap < SymbolType > & positionHeap, const string::LinearString < SymbolType > & string );
 
......
......@@ -6,19 +6,13 @@
*/
 
#include "SuffixArrayFactors.h"
#include <string/LinearString.h>
#include <registration/AlgoRegistration.hpp>
 
namespace stringology {
 
namespace query {
 
ext::set < unsigned > SuffixArrayFactors::query ( const indexes::stringology::SuffixArray < > & suffixArray, const string::String & string ) {
return dispatch ( suffixArray, string.getData ( ) );
}
auto SuffixArrayFactorsLinearString = registration::OverloadRegister < SuffixArrayFactors, ext::set < unsigned >, string::LinearString < > > ( SuffixArrayFactors::query );
auto SuffixArrayFactorsLinearString = registration::AbstractRegister < SuffixArrayFactors, ext::set < unsigned >, const indexes::stringology::SuffixArray < > &, const string::LinearString < > & > ( SuffixArrayFactors::query );
 
} /* namespace query */
 
......
......@@ -9,10 +9,7 @@
#define SUFFIX_ARRAY_FACTORS_H_
 
#include <indexes/stringology/SuffixArray.h>
#include <string/String.h>
#include <string/LinearString.h>
#include <core/multipleDispatch.hpp>
#include <algorithm>
 
namespace stringology {
......@@ -25,7 +22,7 @@ namespace query {
* Source: ??
*/
 
class SuffixArrayFactors : public alib::SingleDispatchFirstStaticParam < SuffixArrayFactors, ext::set < unsigned >, const indexes::stringology::SuffixArray < DefaultSymbolType > &, const string::StringBase & > {
class SuffixArrayFactors {
public:
/**
* Query a suffix array
......@@ -33,8 +30,6 @@ public:
* @param string string to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::stringology::SuffixArray < DefaultSymbolType > & suffixArray, const string::String & string );
template < class SymbolType >
static ext::set < unsigned > query ( const indexes::stringology::SuffixArray < SymbolType > & suffixArray, const string::LinearString < SymbolType > & string );
 
......@@ -65,11 +60,11 @@ ext::set < unsigned > SuffixArrayFactors::query ( const indexes::stringology::Su
} );
 
// The value returned by comparator indicates whether the first argument is considered to go before the second.
ext::vector < unsigned >::const_iterator up = std::upper_bound ( suffixArray.getData ( ).begin ( ), suffixArray.getData ( ).end ( ), string, [ & ] ( const string::LinearString < SymbolType > & str, unsigned second ) {
ext::vector < unsigned >::const_iterator high = std::upper_bound ( suffixArray.getData ( ).begin ( ), suffixArray.getData ( ).end ( ), string, [ & ] ( const string::LinearString < SymbolType > & str, unsigned second ) {
return comparator ( str.getContent ( ), 0, suffixArray.getString ( ), second, str.getContent ( ).size ( ) ) < 0;
} );
 
return ext::set < unsigned > ( low, up );
return ext::set < unsigned > ( low, high );
}
 
} /* namespace query */
......
......@@ -6,19 +6,13 @@
*/
 
#include "SuffixTrieFactors.h"
#include <string/LinearString.h>
#include <registration/AlgoRegistration.hpp>
 
namespace stringology {
 
namespace query {
 
ext::set < unsigned > SuffixTrieFactors::query ( const indexes::stringology::SuffixTrie < DefaultSymbolType > & suffixTrie, const string::String & string ) {
return dispatch ( suffixTrie, string.getData ( ) );
}
auto SuffixTrieFactorsLinearString = registration::OverloadRegister < SuffixTrieFactors, ext::set < unsigned >, string::LinearString < > > ( SuffixTrieFactors::query );
auto SuffixTrieFactorsLinearString = registration::AbstractRegister < SuffixTrieFactors, ext::set < unsigned >, const indexes::stringology::SuffixTrie < > &, const string::LinearString < > & > ( SuffixTrieFactors::query );
 
} /* namespace query */
 
......
......@@ -9,9 +9,7 @@
#define SUFFIX_TRIE_FACTORS_H_
 
#include <indexes/stringology/SuffixTrie.h>
#include <string/String.h>
#include <string/LinearString.h>
#include <core/multipleDispatch.hpp>
 
namespace stringology {
 
......@@ -23,7 +21,7 @@ namespace query {
* Source: ??
*/
 
class SuffixTrieFactors : public alib::SingleDispatchFirstStaticParam < SuffixTrieFactors, ext::set < unsigned >, const indexes::stringology::SuffixTrie < DefaultSymbolType > &, const string::StringBase & > {
class SuffixTrieFactors {
template < class SymbolType >
static void accumulateResult ( const ext::trie < SymbolType, ext::variant < void, unsigned > > & trie, ext::set < unsigned > & res ) {
if ( trie.getData ( ).template is < unsigned > ( ) )
......@@ -41,8 +39,6 @@ public:
* @param string string to query by
* @return occurences of factors
*/
static ext::set < unsigned > query ( const indexes::stringology::SuffixTrie < DefaultSymbolType > & suffixTrie, const string::String & string );
template < class SymbolType >
static ext::set < unsigned > query ( const indexes::stringology::SuffixTrie < SymbolType > & suffixTrie, const string::LinearString < SymbolType > & string );
 
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment