1 // Copyright (C) 2009  Davis E. King (davis@dlib.net)
2 // License: Boost Software License   See LICENSE.txt for the full license.
3 #ifndef DLIB_NULL_TRAINERs_H_
4 #define DLIB_NULL_TRAINERs_H_
5 
6 #include "null_trainer_abstract.h"
7 #include "../algs.h"
8 #include "function_abstract.h"
9 
10 namespace dlib
11 {
12 
13 // ----------------------------------------------------------------------------------------
14 
15     template <
16         typename dec_funct_type
17         >
18     class null_trainer_type
19     {
20     public:
21         typedef typename dec_funct_type::kernel_type kernel_type;
22         typedef typename dec_funct_type::scalar_type scalar_type;
23         typedef typename dec_funct_type::sample_type sample_type;
24         typedef typename dec_funct_type::mem_manager_type mem_manager_type;
25         typedef dec_funct_type trained_function_type;
26 
null_trainer_type()27         null_trainer_type (
28         ){}
29 
null_trainer_type(const dec_funct_type & dec_funct_)30         null_trainer_type (
31             const dec_funct_type& dec_funct_
32         ) : dec_funct(dec_funct_) {}
33 
34         template <
35             typename in_sample_vector_type,
36             typename in_scalar_vector_type
37             >
train(const in_sample_vector_type &,const in_scalar_vector_type &)38         const dec_funct_type& train (
39             const in_sample_vector_type& ,
40             const in_scalar_vector_type&
41         ) const { return dec_funct; }
42 
43     private:
44         dec_funct_type dec_funct;
45     };
46 
47 // ----------------------------------------------------------------------------------------
48 
49     template <
50         typename dec_funct_type
51         >
null_trainer(const dec_funct_type & dec_funct)52     const null_trainer_type<dec_funct_type> null_trainer (
53         const dec_funct_type& dec_funct
54     ) { return null_trainer_type<dec_funct_type>(dec_funct); }
55 
56 // ----------------------------------------------------------------------------------------
57 
58 }
59 
60 #endif // DLIB_NULL_TRAINERs_H_
61 
62