#ifndef UTILS_HDR #define UTILS_HDR #include #include #include #include #include "concordia/common/config.hpp" #include "concordia/concordia_exception.hpp" #include "divsufsort.h" using namespace std; class Utils { public: explicit Utils(); /*! Destructor. */ virtual ~Utils(); static void writeIndexCharacter(ofstream & file, INDEX_CHARACTER_TYPE character); static void writeMarker(ofstream & file, SUFFIX_MARKER_TYPE marker); static INDEX_CHARACTER_TYPE readIndexCharacter(ifstream & file); static SUFFIX_MARKER_TYPE readMarker(ifstream & file); static sauchar_t * indexVectorToSaucharArray( boost::shared_ptr > input); static void appendCharToSaucharVector( boost::shared_ptr > vector, INDEX_CHARACTER_TYPE character); private: static void _insertCharToSaucharArray(sauchar_t * array, INDEX_CHARACTER_TYPE character, int pos); }; #endif