Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef STOPPER_H
00019 #define STOPPER_H
00020
00025 #include "genericvector.h"
00026 #include "params.h"
00027 #include "states.h"
00028 #include "unichar.h"
00029
00030 class WERD_CHOICE;
00031
00032 typedef uinT8 BLOB_WIDTH;
00033
00034 struct DANGERR_INFO {
00035 DANGERR_INFO() :
00036 begin(-1), end(-1), dangerous(false), correct_is_ngram(false) {}
00037 DANGERR_INFO(int b, int e, bool d, bool n) :
00038 begin(b), end(e), dangerous(d), correct_is_ngram(n) {}
00039 int begin;
00040 int end;
00041 bool dangerous;
00042 bool correct_is_ngram;
00043 };
00044
00045 typedef GenericVector<DANGERR_INFO> DANGERR;
00046
00047 enum ACCEPTABLE_CHOICE_CALLER { CHOPPER_CALLER, ASSOCIATOR_CALLER };
00048
00049 struct CHAR_CHOICE {
00050 UNICHAR_ID Class;
00051 uinT16 NumChunks;
00052 float Certainty;
00053 };
00054
00055 class VIABLE_CHOICE_STRUCT {
00056 public:
00057 VIABLE_CHOICE_STRUCT();
00058 explicit VIABLE_CHOICE_STRUCT(int length);
00059 ~VIABLE_CHOICE_STRUCT();
00060
00061
00062 void Init(const WERD_CHOICE& word_choice,
00063 const PIECES_STATE& pieces_state,
00064 const float certainties[],
00065 FLOAT32 adjust_factor);
00066
00067 int Length;
00068 float Rating;
00069 float Certainty;
00070 FLOAT32 AdjustFactor;
00071 bool ComposedFromCharFragments;
00072 CHAR_CHOICE *Blob;
00073
00074 private:
00075
00076 VIABLE_CHOICE_STRUCT(const VIABLE_CHOICE_STRUCT &other)
00077 : Length(0), Blob(NULL) {}
00078 VIABLE_CHOICE_STRUCT &operator=(const VIABLE_CHOICE_STRUCT &other) {
00079 return *this;
00080 }
00081 };
00082
00083 typedef VIABLE_CHOICE_STRUCT *VIABLE_CHOICE;
00084
00085 #endif