Commit 8585fdd5 authored by Mikaël Salson's avatar Mikaël Salson

IKmerStore: lowest level insert is virtual

Since it can be redefined (and is redefined) we need to make the method
virtual so that the redefinition will be called even by some code
produced in IKmerStore.

We also need to tell in PointerACAutomaton that we must use the other
versions of insert that are defined in IKmerStore.
parent 0d5f7ced
......@@ -103,6 +103,8 @@ private:
void free_automaton(pointer_state<Info> *, set<void *> &);
void init(string seed, bool revcomp);
public:
using IKmerStore<Info>::insert;
/**
* @param revcomp: should the revcomp of the sequences also be indexed
*
......
......@@ -82,10 +82,17 @@ public:
* @param seed: the seed to use for indexing. By default it will be the seed of the index
* @post All the k-mers in the sequence have been indexed.
*/
void insert(const seqtype &sequence,
const string &label,
bool ignore_extended_nucleotides=true, int keep_only = 0,
string seed="");
virtual void insert(const seqtype &sequence,
const string &label,
bool ignore_extended_nucleotides=true, int keep_only = 0,
string seed="");
/**
* Perform extra steps to finish the building of the index. After using
* that function, we are not supposed to insert any other sequence.
* No query function should be called before calling that function.
*/
void finish_building();
/**
* @param word: a k-mer
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment