1 // Copyright (C) 2005 Universitat d'Alacant / Universidad de Alicante
2 //
3 // This program is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU General Public License as
5 // published by the Free Software Foundation; either version 2 of the
6 // License, or (at your option) any later version.
7 //
8 // This program is distributed in the hope that it will be useful, but
9 // WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, see <http://www.gnu.org/licenses/>.
15 
16 #ifndef BASIC_TAGGER_H
17 #define BASIC_TAGGER_H
18 
19 namespace Apertium {
20 class basic_Tagger {
21 public:
22   class Flags {
23   public:
24     Flags();
25     bool getDebug();
26     void setDebug(const bool &Debug_);
27     bool getSentSeg();
28     void setSentSeg(const bool &SentSeg_);
29     bool getSkipErrors();
30     void setSkipErrors(const bool &SkipErrors_);
31     bool getFirst();
32     void setFirst(const bool &First_);
33     bool getMark();
34     void setMark(const bool &Mark_);
35     bool getShowSuperficial();
36     void setShowSuperficial(const bool &ShowSuperficial_);
37     bool getNullFlush();
38     void setNullFlush(const bool &NullFlush_);
39     static bool (Flags::*GetDebug)() const;
40     static void (Flags::*SetDebug)(const bool &);
41     static bool (Flags::*GetFirst)() const;
42     static void (Flags::*SetFirst)(const bool &);
43     static bool (Flags::*GetMark)() const;
44     static void (Flags::*SetMark)(const bool &);
45     static bool (Flags::*GetShowSuperficial)() const;
46     static void (Flags::*SetShowSuperficial)(const bool &);
47     static bool (Flags::*GetNullFlush)() const;
48     static void (Flags::*SetNullFlush)(const bool &);
49 
50   private:
51     bool Debug : 1;
52     bool SentSeg : 1;
53     bool SkipErrors : 1;
54     bool First : 1;
55     bool Mark : 1;
56     bool ShowSuperficial : 1;
57     bool NullFlush : 1;
58   };
59 
60 protected:
61   basic_Tagger();
62   basic_Tagger(Flags &Flags_);
63   Flags TheFlags;
64 };
65 }
66 
67 #endif // BASIC_TAGGER_H
68