~ubuntu-branches/ubuntu/trusty/presage/trusty-proposed

« back to all changes in this revision

Viewing changes to src/tools/ngram.h

  • Committer: Bazaar Package Importer
  • Author(s): Matteo Vescovi
  • Date: 2011-08-06 09:26:15 UTC
  • Revision ID: james.westby@ubuntu.com-20110806092615-0wvhajaht9974ncx
Tags: upstream-0.8.6
ImportĀ upstreamĀ versionĀ 0.8.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
/******************************************************
 
3
 *  Presage, an extensible predictive text entry system
 
4
 *  ---------------------------------------------------
 
5
 *
 
6
 *  Copyright (C) 2008  Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
 
7
 
 
8
    This program is free software; you can redistribute it and/or modify
 
9
    it under the terms of the GNU General Public License as published by
 
10
    the Free Software Foundation; either version 2 of the License, or
 
11
    (at your option) any later version.
 
12
 
 
13
    This program is distributed in the hope that it will be useful,
 
14
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
    GNU General Public License for more details.
 
17
 
 
18
    You should have received a copy of the GNU General Public License along
 
19
    with this program; if not, write to the Free Software Foundation, Inc.,
 
20
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
21
                                                                             *
 
22
                                                                **********(*)*/
 
23
 
 
24
 
 
25
#ifndef PRESAGE_NGRAM
 
26
#define PRESAGE_NGRAM
 
27
 
 
28
#include <iostream>
 
29
#include <string>
 
30
#include <vector>
 
31
#include <assert.h>
 
32
 
 
33
class Ngram {
 
34
    friend std::ostream& operator<<( std::ostream&, const Ngram& );
 
35
public:
 
36
    Ngram(const int N);
 
37
    ~Ngram();
 
38
 
 
39
    int getN() const;
 
40
 
 
41
    std::string getNgram(const int n) const;
 
42
    void setNgram(const int n, const std::string str);
 
43
 
 
44
    bool operator<( const Ngram& ) const;
 
45
    Ngram& operator=( const Ngram& );
 
46
 
 
47
    std::string toString() const;
 
48
 
 
49
private:
 
50
    int N;
 
51
    std::string* ngrams;
 
52
 
 
53
};
 
54
 
 
55
#endif // PRESAGE_NGRAM