Samchon Framework for CPP  1.0.0
ExternalServerClientArray.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/templates/external/ExternalServerArray.hpp>
5 #include <samchon/templates/external/ExternalClientArray.hpp>
6 
7 namespace samchon
8 {
9 namespace templates
10 {
11 namespace external
12 {
31  template <class System = ExternalSystem>
33  : public virtual ExternalServerArray<System>,
34  public virtual ExternalClientArray<System>
35  {
36  public:
37  /* =========================================================
38  CONSTRUCTORS
39  - DEFAULT
40  - FACTORY METHODS FOR CHILDREN
41  ============================================================
42  CONSTRUCTORS
43  --------------------------------------------------------- */
48  : ExternalServerArray<System>(),
49  ExternalClientArray<System>()
50  {
51  };
52 
56  virtual ~ExternalServerClientArray() = default;
57 
58  protected:
59  /* ---------------------------------------------------------
60  FACTORY METHODS FOR CHILDREN
61  --------------------------------------------------------- */
70  virtual auto createChild(std::shared_ptr<library::XML> xml) -> System* override final
71  {
72  return nullptr;
73  };
74 
81  virtual auto createExternalServer(std::shared_ptr<library::XML>) -> System* = 0;
82  };
83 };
84 };
85 };
virtual auto createExternalServer(std::shared_ptr< library::XML >) -> System *=0
virtual ~ExternalServerClientArray()=default
Default Destructor.
virtual auto createChild(std::shared_ptr< library::XML > xml) -> System *override final