1 // Copyright (C) 2003  Davis E. King (davis@dlib.net)
2 // License: Boost Software License   See LICENSE.txt for the full license.
3 #ifndef DLIB_CONDITIONING_CLASs_
4 #define DLIB_CONDITIONING_CLASs_
5 
6 #include "conditioning_class/conditioning_class_kernel_1.h"
7 #include "conditioning_class/conditioning_class_kernel_2.h"
8 #include "conditioning_class/conditioning_class_kernel_3.h"
9 #include "conditioning_class/conditioning_class_kernel_4.h"
10 #include "conditioning_class/conditioning_class_kernel_c.h"
11 
12 
13 #include "memory_manager.h"
14 
15 namespace dlib
16 {
17 
18     template <
19         unsigned long alphabet_size
20         >
21     class conditioning_class
22     {
conditioning_class()23         conditioning_class() {}
24 
25         typedef memory_manager<char>::kernel_2b mm;
26 
27     public:
28 
29         //----------- kernels ---------------
30 
31         // kernel_1a
32         typedef      conditioning_class_kernel_1<alphabet_size>
33                      kernel_1a;
34         typedef      conditioning_class_kernel_c<kernel_1a>
35                      kernel_1a_c;
36 
37         // kernel_2a
38         typedef      conditioning_class_kernel_2<alphabet_size>
39                      kernel_2a;
40         typedef      conditioning_class_kernel_c<kernel_2a>
41                      kernel_2a_c;
42 
43         // kernel_3a
44         typedef      conditioning_class_kernel_3<alphabet_size>
45                      kernel_3a;
46         typedef      conditioning_class_kernel_c<kernel_3a>
47                      kernel_3a_c;
48 
49 
50         // -------- kernel_4 ---------
51 
52         // kernel_4a
53         typedef      conditioning_class_kernel_4<alphabet_size,10000,mm>
54                      kernel_4a;
55         typedef      conditioning_class_kernel_c<kernel_4a>
56                      kernel_4a_c;
57 
58         // kernel_4b
59         typedef      conditioning_class_kernel_4<alphabet_size,100000,mm>
60                      kernel_4b;
61         typedef      conditioning_class_kernel_c<kernel_4b>
62                      kernel_4b_c;
63 
64         // kernel_4c
65         typedef      conditioning_class_kernel_4<alphabet_size,1000000,mm>
66                      kernel_4c;
67         typedef      conditioning_class_kernel_c<kernel_4c>
68                      kernel_4c_c;
69 
70         // kernel_4d
71         typedef      conditioning_class_kernel_4<alphabet_size,10000000,mm>
72                      kernel_4d;
73         typedef      conditioning_class_kernel_c<kernel_4d>
74                      kernel_4d_c;
75 
76     };
77 }
78 
79 #endif // DLIB_CONDITIONING_CLASS_
80 
81