presage
0.8.8
Main Page
Classes
Files
File List
File Members
src
tools
ngram.h
Go to the documentation of this file.
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
Generated on Wed Jun 13 2012 00:47:02 for presage by
1.8.1