template<size_t span = KMER_DEFAULT_SPAN>
class gatb::core::kmer::impl::Kmer< span >::KmerDirect
Kmer type for the ModelDirect class.
Now, we need to define what is a kmer for each kind of model.
The simple case is KmerDirect, where only the value of the kmer is available as a method 'value' returning a Type object.
The second case is KmerCanonical, which is the same as KmerDirect, but with two other methods 'forward' and 'revcomp'
The third case is KmerMinimizer<Model> which allows to handle minimizers associated to a kmer. This class inherits from the Model::Kmer type and adds methods specific to minimizers, such as 'minimizer' itself (ie the Model::Kmer object holding the minimizer), 'position' giving the position of the minimizer whithin the kmer and 'hasChanged' telling whether a minimizer has changed during iteration of kmers from some data source (a sequence data for instance).This class represent direct kmers, ie. a mere Type value.
NOTE: this class is not intended to be used directly by end users. Instead, the typedef definition ModelDirect::Kmer should be preferred.
Example of use:
ModelDirect model (kmerSize);
std::cout << std::endl;
std::cout << "-------------------- DIRECT --------------------" << std::endl;
std::cout <<
"kmer value is: " << kmer.
value() << std::endl;
std::cout << "kmer string is: " << model.toString(kmer.value()) << std::endl;