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