9#include <string/LinearString.h>
10#include <ext/algorithm>
30 template <
class SymbolType >
35template <
class SymbolType >
39 for ( ; firstIndex < first.size ( ) && secondIndex <
second.size ( ) && limit > 0; ++ firstIndex, ++ secondIndex, --limit ) {
40 auto res = first [ firstIndex ] <=>
second [ secondIndex ];
47 return std::strong_ordering::equal;
49 return ( first.size ( ) - firstIndex ) <=> (
second.size ( ) - secondIndex );
54 return comparator ( suffixArray.getString ( ).getContent ( ), first, str.getContent ( ), 0, str.getContent ( ).size ( ) ) < 0;
59 return comparator ( str.getContent ( ), 0, suffixArray.getString ( ).getContent ( ), second, str.getContent ( ).size ( ) ) < 0;
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
typename std::vector< T, Alloc >::const_iterator const_iterator
The type of constant values iterator.
Definition: vector.hpp:67
Suffix array string index. Linear representation of all suffixes ordered lexicographically....
Definition: SuffixArray.h:51
const ext::vector< unsigned > & getData() const &
Definition: SuffixArray.h:181
Linear string.
Definition: LinearString.h:57
Definition: SuffixArrayFactors.h:22
static ext::set< unsigned > query(const indexes::stringology::SuffixArray< SymbolType > &suffixArray, const string::LinearString< SymbolType > &string)
Definition: SuffixArrayFactors.h:36
p second
Definition: ToRegExpAlgebraic.h:126
return res
Definition: MinimizeByPartitioning.h:145
Definition: ArithmeticCompression.h:18