Samchon Framework for CPP  1.0.0
NTFactory.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/library/FTFactory.hpp>
5 
6 #include <functional>
7 #include <samchon/Dictionary.hpp>
8 
9 namespace samchon
10 {
11 namespace namtree
12 {
13  class NTCriteria;
14  class NTSide;
15 
16  class NTEntityGroup;
17  class NTIterator;
18 
52  class SAMCHON_FRAMEWORK_API NTFactory
53  : public library::FTFactory
54  {
55  private:
56  typedef library::FTFactory super;
57 
58  protected:
59  typedef std::function<double(const NTIterator&, const std::vector<double> &)> SideFunction;
60 
65 
70 
71  public:
78  virtual ~NTFactory() = default;
79 
80  virtual auto createFile(library::FTFolder*, std::shared_ptr<library::XML>)->library::FTFile* override;
81 
89  virtual auto createCriteria(NTCriteria*, std::shared_ptr<library::XML>)->NTCriteria*;
90 
97  virtual auto createSide(std::shared_ptr<library::XML>)->NTSide*;
98  };
99 };
100 };
Customized std::map.
Definition: Map.hpp:88
Dictionary< SideFunction > sideFunctionMap
A dictionary of function pointers.
Definition: NTFactory.hpp:69
A factory for Nam-Tree objects.
Definition: NTFactory.hpp:52
NTEntityGroup * data
A entity gorup containing historical data.
Definition: NTFactory.hpp:64
A Factory and manager for file-tree.
Definition: FTFactory.hpp:29
A historical, studying data.
Top level namespace of products built from samchon.
Definition: ByteArray.hpp:7
Criteria, a conditional expression with weight.
Definition: NTCriteria.hpp:77