A C++ implementation of a suffix tree