diff --git a/src/align/align.cpp b/src/align/align.cpp index b1f04e95..bc66362c 100644 --- a/src/align/align.cpp +++ b/src/align/align.cpp @@ -27,6 +27,7 @@ along with this program. If not, see . #include "util/async_buffer.h" #include "util/parallel/thread_pool.h" #include "extend.h" +#include "util/util.h" #ifdef WITH_DNA #include "../dna/extension.h" #endif diff --git a/src/util/string/tokenizer_dyn.h b/src/util/string/tokenizer_dyn.h index f8356f0d..416f479f 100644 --- a/src/util/string/tokenizer_dyn.h +++ b/src/util/string/tokenizer_dyn.h @@ -43,6 +43,7 @@ struct TokenizerBase { const char* ptr() const { return ptr_; } + virtual ~TokenizerBase() {} virtual std::string operator*() const = 0; virtual TokenizerBase& operator++() = 0; const char* ptr_, * end_; @@ -59,6 +60,7 @@ struct CharTokenizer : public TokenizerBase { virtual std::string operator*() const override { return std::string(ptr_, std::find(ptr_, end_, delimiter_)); } + virtual ~CharTokenizer() {} virtual CharTokenizer& operator++() override { ptr_ = std::find(ptr_, end_, delimiter_); #ifndef NDEBUG @@ -82,6 +84,7 @@ struct MultiCharTokenizer : public TokenizerBase { virtual std::string operator*() const override { return std::string(ptr_, std::search(ptr_, end_, delimiter_.begin(), delimiter_.end())); } + virtual ~MultiCharTokenizer() {} virtual MultiCharTokenizer& operator++() override { ptr_ = std::search(ptr_, end_, delimiter_.begin(), delimiter_.end()); #ifndef NDEBUG