/* * Copyright (c) 2011 Vlad Voicu * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include #include #pragma once namespace Swift { class SpellChecker { public: SpellChecker() { parser_ = new SpellParser(); } virtual ~SpellChecker() { delete parser_; }; virtual bool isCorrect(const std::string& word) = 0; virtual void getSuggestions(const std::string& word, std::vector& list) = 0; virtual void checkFragment(const std::string& fragment, PositionPairList& misspelledPositions) = 0; protected: SpellParser *parser_; }; }