Samchon Framework for CPP  1.0.0
NTParameter.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/protocol/SharedEntityArray.hpp>
5 #include <samchon/namtree/NTParameterDetermined.hpp>
6 #include <samchon/namtree/INTExplore.hpp>
7 
8 namespace samchon
9 {
10 namespace namtree
11 {
25  class SAMCHON_FRAMEWORK_API NTParameter
26  : public virtual protocol::SharedEntityArray<NTParameterDetermined>,
27  public INTExplore
28  {
29  private:
31 
32  protected:
37  std::string name;
38 
42  double initialValue;
43 
44  public:
45  /* -------------------------------------------------------------------
46  CONSTRUCTORS
47  ------------------------------------------------------------------- */
51  NTParameter();
52  virtual ~NTParameter() = default;
53 
54  virtual void construct(std::shared_ptr<library::XML>) override;
55 
56  protected:
57  virtual auto createChild(std::shared_ptr<library::XML>)->NTParameterDetermined* override;
58 
59  public:
60  /* -------------------------------------------------------------------
61  GETTERS
62  ------------------------------------------------------------------- */
63  virtual auto key() const->std::string override;
64 
68  auto getName() const->std::string;
69 
73  auto getInitialValue() const -> double;
74 
75  /* -------------------------------------------------------------------
76  EXPORTERS
77  ------------------------------------------------------------------- */
78  virtual auto TAG() const->std::string override;
79  virtual auto CHILD_TAG() const->std::string override;
80 
81  virtual auto toXML() const->std::shared_ptr<library::XML> override;
82  };
83 };
84 };
An entity, a standard data class.
Definition: Entity.hpp:48
double initialValue
An initial, default value.
Definition: NTParameter.hpp:42
std::string name
Name of a paremeter.
Definition: NTParameter.hpp:37
Definition: RWMutex.hpp:4
An interface for exploration.
Definition: INTExplore.hpp:25
An Entity and a container of children Entity objects.
Definition: EntityGroup.hpp:52
A metadata of a parameter in a function.
Definition: NTParameter.hpp:25
Top level namespace of products built from samchon.
Definition: ByteArray.hpp:7