Simple Suffix Trie with lazy allocation. Build on top of std::vector