mFrame
載入中...
搜尋中...
無符合項目
RunnableMethod.h
1
7#ifndef MFRAME_38FBA535_41BA_4F77_8153_DE72A1A4E9B6
8#define MFRAME_38FBA535_41BA_4F77_8153_DE72A1A4E9B6
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15
16//----------------------------------------------------------------------------------------
17#include "./../func/Runnable.h"
18#include "./../lang/Object.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace ufm::func {
24 class RunnableMethod;
25} // namespace ufm::func
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
30
39 /* *************************************************************************************
40 * Variable
41 */
42 private:
47 Interface& vClass;
48
53 void (Interface::*vMethod)(void);
54
55 /* *************************************************************************************
56 * Abstract Method
57 */
58
59 /* *************************************************************************************
60 * Construct Method
61 */
62 public:
74 template <typename C = Interface>
75 RunnableMethod(Interface& c, void (C::*method)(void)) : vClass(c) {
76 this->vMethod = reinterpret_cast<void (Interface::*)(void)>(method);
77 return;
78 }
79
86 virtual ~RunnableMethod(void) override;
87
88 /* *************************************************************************************
89 * Operator Method
90 */
91
92 /* *************************************************************************************
93 * Override Method - ufm::func::Runnable
94 */
95 public:
103 virtual void run(void) override;
104
105 /* *************************************************************************************
106 * Public Method
107 */
108
109 /* *************************************************************************************
110 * Protected Method
111 */
112
113 /* *************************************************************************************
114 * Private Method
115 */
116
117 /* *************************************************************************************
118 * Static Variable
119 */
120
121 /* *************************************************************************************
122 * Static Method
123 */
124};
125
126/* ***************************************************************************************
127 * End of file
128 */
129
130#endif /* MFRAME_38FBA535_41BA_4F77_8153_DE72A1A4E9B6 */
可執行方法類別
Definition RunnableMethod.h:38
RunnableMethod(Interface &c, void(C::*method)(void))
建構一個新的 RunnableMethod 物件
Definition RunnableMethod.h:75
virtual ~RunnableMethod(void) override
解構 RunnableMethod 物件
virtual void run(void) override
實現 Runnable 介面的 run 方法
物件基底類別
Definition Object.h:63
Definition BiConsumer.h:22
[Interface] 可執行函數式介面
Definition Runnable.h:40
類別共用基礎介面
Definition Interface.h:152