aboutsummaryrefslogtreecommitdiffstats
path: root/pre_estimater/pre_estimater.hpp
blob: db21e94f7153ecb77310f1abfb6df60eddbaa0ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef PRE_ESTIMATER_HPP
#define PRE_ESTIMATER_HPP

#include <core/fitter.hpp>


namespace opt_utilities
{
  template <typename  Ty,typename Tx,typename Tp,typename Ts=Ty,typename Tstr=std::string>
  class pre_estimater
  {
  private:
    virtual void do_estimate(fitter<Ty,Tx,Tp,Ts,Tstr>& fit)const=0;
    virtual pre_estimater* do_clone()const=0;
  public:
    void estimate(fitter<Ty,Tx,Tp,Ts,Tstr>& fit)const
    {
      do_estimate(fit);
    }

    pre_estimater* clone()const
    {
      return this->do_clone();
    }
  };
}


#endif