Main Page
Data Structures
Files
File List
Globals
src
libgfsmxl
gfsmxlSuffixIndex.h
Go to the documentation of this file.
1
2
/*=============================================================================*\
3
* File: gfsmxlSuffixIndex.h
4
* Author: Bryan Jurish <moocow.bovine@gmail.com>
5
* Description: finite state machine library: suffix-length indices
6
*
7
* Copyright (c) 2009-2011 Bryan Jurish.
8
*
9
* This library is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU Lesser General Public
11
* License as published by the Free Software Foundation; either
12
* version 2.1 of the License, or (at your option) any later version.
13
*
14
* This library is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* Lesser General Public License for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with this library; if not, write to the Free Software
21
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22
*=============================================================================*/
23
28
#ifndef _GFSMXL_SUFFIX_INDEX_H
29
#define _GFSMXL_SUFFIX_INDEX_H
30
31
#include <
gfsm.h
>
32
33
/*======================================================================
34
* gfsmxlSuffixLength
35
*/
37
38
40
typedef
gfsmStateId
gfsmxlSuffixLength
;
41
43
extern
const
gfsmxlSuffixLength
gfsmxlSuffixLengthNone
;
44
46
47
/*======================================================================
48
* gfsmxlSuffixLengthArray
49
*/
51
52
60
typedef
GArray
gfsmxlSuffixLengthArray
;
61
65
gfsmxlSuffixLengthArray
*
gfsmxl_suffix_length_array_new
(
gfsmStateId
n_states);
66
68
GFSM_INLINE
69
void
gfsmxl_suffix_length_array_free
(
gfsmxlSuffixLengthArray
*sla);
70
72
GFSM_INLINE
73
gfsmxlSuffixLength
*
gfsmxl_suffix_length_array_data
(
gfsmxlSuffixLengthArray
*sla);
74
76
GFSM_INLINE
77
gfsmxlSuffixLength
gfsmxl_suffix_length_array_get
(
gfsmxlSuffixLengthArray
*sla,
gfsmStateId
qid);
78
80
GFSM_INLINE
81
void
gfsmxl_suffix_length_array_set
(
gfsmxlSuffixLengthArray
*sla,
gfsmStateId
qid,
gfsmxlSuffixLength
pl);
82
84
85
/*======================================================================
86
* gfsmxlSuffixLengthIndex
87
*/
89
90
96
typedef
struct
{
97
gfsmxlSuffixLengthArray
*
lo
;
98
gfsmxlSuffixLengthArray
*
hi
;
99
}
gfsmxlSuffixLengthIndex
;
100
101
103
gfsmxlSuffixLengthIndex
*
gfsmxl_suffix_length_index_new
(
gfsmIndexedAutomaton
*xfsm);
104
106
GFSM_INLINE
107
void
gfsmxl_suffix_length_index_free
(
gfsmxlSuffixLengthIndex
*slx);
108
115
gboolean
gfsmxl_suffix_length_index_write_bin_handle
(
gfsmxlSuffixLengthIndex
*slx,
gfsmIOHandle
*ioh,
gfsmError
**errp);
116
123
gboolean
gfsmxl_suffix_length_index_read_bin_handle
(
gfsmxlSuffixLengthIndex
*slx,
gfsmIOHandle
*ioh,
gfsmError
**errp);
124
126
127
//-- inline definitions
128
#ifdef GFSM_INLINE_ENABLED
129
# include <gfsmxlSuffixIndex.hi>
130
#endif
131
132
#endif
/* _GFSMXL_SUFFIX_INDEX_H */
Generated on Mon Oct 20 2014 10:48:47 for libgfsmxl by
1.8.1.2