1 /* @include embpatlist ********************************************************
2 **
3 ** Functions for patternlist handling.
4 **
5 ** @author Copyright (C) 2004 Henrikki Almusa, Medicel Oy,Finland
6 ** @version $Revision: 1.6 $
7 ** @modified $Date: 2011/10/18 14:24:25 $ by $Author: rice $
8 ** @@
9 **
10 ** This library is free software; you can redistribute it and/or
11 ** modify it under the terms of the GNU Lesser General Public
12 ** License as published by the Free Software Foundation; either
13 ** version 2.1 of the License, or (at your option) any later version.
14 **
15 ** This library is distributed in the hope that it will be useful,
16 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 ** Lesser General Public License for more details.
19 **
20 ** You should have received a copy of the GNU Lesser General Public
21 ** License along with this library; if not, write to the Free Software
22 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
23 ** MA  02110-1301,  USA.
24 **
25 ******************************************************************************/
26 
27 #ifndef EMBPATLIST_H
28 #define EMBPATLIST_H
29 
30 /* ========================================================================= */
31 /* ============================= include files ============================= */
32 /* ========================================================================= */
33 
34 #include "ajdefine.h"
35 #include "ajpat.h"
36 #include "ajseqdata.h"
37 #include "ajfeat.h"
38 
39 AJ_BEGIN_DECLS
40 
41 
42 
43 
44 /* ========================================================================= */
45 /* =============================== constants =============================== */
46 /* ========================================================================= */
47 
48 
49 
50 
51 /* ========================================================================= */
52 /* ============================== public data ============================== */
53 /* ========================================================================= */
54 
55 
56 
57 
58 /* ========================================================================= */
59 /* =========================== public functions ============================ */
60 /* ========================================================================= */
61 
62 
63 
64 /*
65 ** Prototype definitions
66 */
67 
68 void   embPatlistSeqSearch(AjPFeattable ftable, const AjPSeq seq,
69                            AjPPatlistSeq plist, AjBool reverse);
70 void   embPatlistSeqSearchAll(AjPFeattable ftable, const AjPSeq seq,
71 			      AjPPatlistSeq plist, AjBool reverse);
72 void   embPatlistRegexSearch(AjPFeattable ftable, const AjPSeq seq,
73                              AjPPatlistRegex plist, AjBool reverse);
74 void   embPatlistRegexSearchAll(AjPFeattable ftable, const AjPSeq seq,
75                                 AjPPatlistRegex plist, AjBool reverse);
76 void   embPatternRegexSearch(AjPFeattable ftable, const AjPSeq seq,
77                              const AjPPatternRegex pat, AjBool reverse);
78 void   embPatternRegexSearchAll(AjPFeattable ftable, const AjPSeq seq,
79                                 const AjPPatternRegex pat, AjBool reverse);
80 void   embPatternSeqSearch(AjPFeattable ftable, const AjPSeq seq,
81                            const AjPPatternSeq pat, AjBool reverse);
82 void   embPatternSeqSearchAll(AjPFeattable ftable, const AjPSeq seq,
83 			      const AjPPatternSeq pat, AjBool reverse);
84 AjBool embPatternSeqCompile(AjPPatternSeq pat);
85 
86 void   embPatlistExit(void);
87 
88 /*
89 ** End of prototype definitions
90 */
91 
92 AJ_END_DECLS
93 
94 #endif  /* !EMBPATLIST_H */
95 
96