86 typedef typename std::iterator_traits<string_type>::value_type
symbol_type;
87 typedef typename std::iterator_traits<string_type>::value_type
value_type;
88 typedef typename std::iterator_traits<string_type>::reference
reference;
106 m_coords( suffix ) {}
167 typedef typename std::iterator_traits<string_type>::value_type
symbol_type;
168 typedef typename std::iterator_traits<string_type>::value_type
value_type;
169 typedef typename std::iterator_traits<string_type>::reference
reference;
187 m_coords( suffix ) {}
255 typedef typename std::iterator_traits<string_type>::value_type
symbol_type;
256 typedef typename std::iterator_traits<string_type>::value_type
value_type;
257 typedef typename std::iterator_traits<string_type>::reference
reference;
284 template <
typename StringType,
typename CoordType>
301 typename SequenceType,
302 typename SuffixIterator,
312 typename SequenceType,
313 typename SuffixIterator>
319 typedef typename std::iterator_traits<SuffixIterator>::value_type
coord_type;
335 m_sequence( sequence ),
336 m_suffixes( suffixes ) {}
363 typename SequenceType,
364 typename SuffixIterator>
371 typedef typename std::iterator_traits<SuffixIterator>::value_type
coord_type;
387 m_sequence( sequence ),
388 m_suffixes( suffixes ) {}
401 return string_type( m_sequence[ coords.x ], coords );
413 template <
typename StringType,
typename CoordType>
419 template <
typename StringType,
typename CoordType, u
int32 CoordDim>
439 typename SequenceType,
440 typename SuffixIterator>
444 vector_traits<typename std::iterator_traits<SuffixIterator>::value_type>::DIM>
494 template <
typename string_set_type>
496 const string_set_type string_set,
500 typedef typename string_set_type::string_type string_type;
504 if (suffix1.y == suffix2.y &&
505 suffix1.x == suffix2.x)
508 const suffix_type string1 =
make_suffix( string_set[suffix1.y], suffix1.x );
509 const suffix_type string2 =
make_suffix( string_set[suffix2.y], suffix2.x );
518 for (
uint32 j = 0; j < min_len; ++j)
520 const uint8 c_i = string1[j];
521 const uint8 c_n = string2[j];
539 else if (len2 < len1)
542 cmp = suffix1.y < suffix2.y ? -1 : 1;