Alternate
e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
Binder.hpp
[詳解]
1
5
6
#pragma once
7
8
#include "
Exception.h
"
9
10
namespace
alt
11
{
12
namespace
skeleton
13
{
16
template
<
class
T,
class
... Args>
17
class
Binder
18
{
19
public
:
21
Binder
<T, Args...> ()
22
{
23
_value
=
nullptr
;
24
};
25
28
Binder
<T, Args...> (T* t)
29
{
30
_value
= t;
31
}
32
34
virtual
APIENTRY
~Binder
()
35
{
36
Delete
();
37
};
38
44
bool
APIENTRY
New
(Args... args)
45
{
46
_value
=
new
T (args...);
47
return
_value
==
nullptr
? false :
true
;
48
};
49
51
VOID APIENTRY
Delete
()
52
{
53
delete
_value
;
54
_value
=
nullptr
;
55
};
56
59
T* APIENTRY
Get
()
const
60
{
61
if
(
_value
==
nullptr
)
62
{
63
throw
(
alt::ex::RuntimeException
());
64
}
65
66
return
_value
;
67
}
68
71
T* APIENTRY
operator ->
()
const
72
{
73
return
Get
();
74
}
75
78
VOID APIENTRY
Set
(T* t)
79
{
80
if
(
_value
!=
nullptr
)
81
{
82
delete
_value
;
83
}
84
85
_value
= t;
86
};
87
88
private
:
89
Binder
<T, Args...> (
const
Binder
<T, Args...>&) =
delete
;
90
VOID
operator =
(
const
Binder<T, Args...>
&) =
delete
;
91
T*
_value
;
92
};
93
}
94
}
Exception.h
例外に関するクラス
alt::ex::RuntimeException
実行時エラー例外
Definition:
Exception.h:54
alt::skeleton::Binder
newオブジェクトを管理するコンテナクラス
Definition:
Binder.hpp:18
alt::skeleton::Binder::Get
T *APIENTRY Get() const
管理オブジェクトの取得
Definition:
Binder.hpp:59
alt::skeleton::Binder::operator->
T *APIENTRY operator->() const
管理オブジェクトの取得
Definition:
Binder.hpp:71
alt::skeleton::Binder::Set
VOID APIENTRY Set(T *t)
外部から管理オブジェクトを設定
Definition:
Binder.hpp:78
alt::skeleton::Binder::New
bool APIENTRY New(Args... args)
管理オブジェクトの作成
Definition:
Binder.hpp:44
alt::skeleton::Binder::operator=
VOID operator=(const Binder< T, Args... > &)=delete
alt::skeleton::Binder::Delete
VOID APIENTRY Delete()
管理オブジェクトの開放
Definition:
Binder.hpp:51
alt::skeleton::Binder::_value
T * _value
Definition:
Binder.hpp:91
alt::skeleton::Binder::~Binder
virtual APIENTRY ~Binder()
デストラクタ
Definition:
Binder.hpp:34
alt
Definition:
DBLibrary.h:12
WindowsLibrary
Binder.hpp
構築:
1.9.6