1 /******************************************************************************
2  ** Filename:    stopper.h
3  ** Purpose:     Stopping criteria for word classifier.
4  ** Author:      Dan Johnson
5  **
6  ** (c) Copyright Hewlett-Packard Company, 1988.
7  ** Licensed under the Apache License, Version 2.0 (the "License");
8  ** you may not use this file except in compliance with the License.
9  ** You may obtain a copy of the License at
10  ** http://www.apache.org/licenses/LICENSE-2.0
11  ** Unless required by applicable law or agreed to in writing, software
12  ** distributed under the License is distributed on an "AS IS" BASIS,
13  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ** See the License for the specific language governing permissions and
15  ** limitations under the License.
16  ******************************************************************************/
17 #ifndef STOPPER_H
18 #define STOPPER_H
19 
20 #include "params.h"
21 #include "ratngs.h"
22 
23 #include <tesseract/unichar.h>
24 
25 namespace tesseract {
26 
27 class WERD_CHOICE;
28 
29 using BLOB_WIDTH = uint8_t;
30 
31 struct DANGERR_INFO {
DANGERR_INFODANGERR_INFO32   DANGERR_INFO()
33       : begin(-1)
34       , end(-1)
35       , dangerous(false)
36       , correct_is_ngram(false)
37       , leftmost(INVALID_UNICHAR_ID) {}
DANGERR_INFODANGERR_INFO38   DANGERR_INFO(int b, int e, bool d, bool n, UNICHAR_ID l)
39       : begin(b), end(e), dangerous(d), correct_is_ngram(n), leftmost(l) {}
40   int begin;
41   int end;
42   bool dangerous;
43   bool correct_is_ngram;
44   UNICHAR_ID leftmost; // in the replacement, what's the leftmost character?
45 };
46 
47 using DANGERR = std::vector<DANGERR_INFO>;
48 
49 } // namespace tesseract
50 
51 #endif
52