abbreviationExpansionPredictor.h
Go to the documentation of this file.
/******************************************************
* Presage, an extensible predictive text entry system
* ---------------------------------------------------
*
* Copyright (C) 2008 Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
**********(*)*/
#ifndef PRESAGE_ABBREVIATIONEXPANSIONPREDICTOR
#define PRESAGE_ABBREVIATIONEXPANSIONPREDICTOR
#include "predictor.h"
#include "../core/dispatcher.h"
class AbbreviationExpansionPredictor : public Predictor, public Observer {
public:
AbbreviationExpansionPredictor(Configuration*, ContextTracker*, const char*);
~AbbreviationExpansionPredictor();
virtual Prediction predict(const size_t size, const char** filter) const;
virtual void learn(const std::vector<std::string>& change);
virtual void update (const Observable* variable);
private:
std::string LOGGER;
std::string ABBREVIATIONS;
void set_abbreviations (const std::string& filename);
void cacheAbbreviationsExpansions();
std::string abbreviations;
std::map< std::string, std::string> cache;
Dispatcher<AbbreviationExpansionPredictor> dispatcher;
};
#endif // PRESAGE_ABBREVIATIONEXPANSIONPREDICTOR
predictor.h
AbbreviationExpansionPredictor::dispatcher
Dispatcher< AbbreviationExpansionPredictor > dispatcher
Definition: abbreviationExpansionPredictor.h:66
Prediction
Definition: prediction.h:47
AbbreviationExpansionPredictor::AbbreviationExpansionPredictor
AbbreviationExpansionPredictor(Configuration *, ContextTracker *, const char *)
Definition: abbreviationExpansionPredictor.cpp:30
Dispatcher< AbbreviationExpansionPredictor >
Predictor
Definition: predictor.h:46
AbbreviationExpansionPredictor::LOGGER
std::string LOGGER
Definition: abbreviationExpansionPredictor.h:57
AbbreviationExpansionPredictor::~AbbreviationExpansionPredictor
~AbbreviationExpansionPredictor()
Definition: abbreviationExpansionPredictor.cpp:47
AbbreviationExpansionPredictor::cache
std::map< std::string, std::string > cache
Definition: abbreviationExpansionPredictor.h:64
AbbreviationExpansionPredictor::cacheAbbreviationsExpansions
void cacheAbbreviationsExpansions()
Definition: abbreviationExpansionPredictor.cpp:92
AbbreviationExpansionPredictor::abbreviations
std::string abbreviations
Definition: abbreviationExpansionPredictor.h:63
AbbreviationExpansionPredictor
Definition: abbreviationExpansionPredictor.h:45
Observer
Definition: observer.h:34
AbbreviationExpansionPredictor::learn
virtual void learn(const std::vector< std::string > &change)
Definition: abbreviationExpansionPredictor.cpp:87
Configuration
Definition: configuration.h:36
AbbreviationExpansionPredictor::predict
virtual Prediction predict(const size_t size, const char **filter) const
Generate prediction.
Definition: abbreviationExpansionPredictor.cpp:62
AbbreviationExpansionPredictor::ABBREVIATIONS
std::string ABBREVIATIONS
Definition: abbreviationExpansionPredictor.h:58
AbbreviationExpansionPredictor::update
virtual void update(const Observable *variable)
Definition: abbreviationExpansionPredictor.cpp:126
ContextTracker
Tracks user interaction and context.
Definition: contextTracker.h:155
AbbreviationExpansionPredictor::set_abbreviations
void set_abbreviations(const std::string &filename)
Definition: abbreviationExpansionPredictor.cpp:53
Observable
Definition: observable.h:37