acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
aaa_member.h
1
//
2
// member.h
3
// acme
4
//
5
// Created by Camilo Sasuke Thomas Borregaard Soerensen on 28/02/20.
6
//
7
#pragma once
8
12
//
13
//
14
// template < typename TYPE >
15
// class member// :
16
// //virtual public matter
17
// {
18
// public:
19
//
20
//
21
// member() : m_p(nullptr) {}
22
//
23
// TYPE* get() { return m_p; }
24
// TYPE* get() const { return m_p; }
25
//
26
// operator TYPE* () const { return m_p; }
27
// operator TYPE* () { return m_p; }
28
//
29
// TYPE* operator ->() const { return m_p; }
30
// TYPE* operator ->() { return m_p; }
31
//
32
// bool is_null() const { return __pointer_is_null(m_p); }
33
// bool is_set() const { return __pointer_is_set(m_p); }
34
// bool operator !() const { return is_null(); }
35
//
36
// template < typename OBJECT >
37
// ::pointer<OBJECT>cast() const;
38
//
39
//
40
// protected:
41
//
42
// friend class ::object;
43
//
44
// TYPE* m_p;
45
// void clear_member() { m_p = nullptr; }
46
//
47
//
48
// public:
49
//
50
// member& operator = (const ::prototype::member < TYPE >& member) { m_p = member.m_p; return *this; }
51
//
52
// template < typename OBJECT >
53
// member& operator = (const ::pointer<OBJECT>& p) { m_p = dynamic_cast <TYPE*> ((OBJECT*)p.m_p); return *this; }
54
//
55
// template < typename OBJECT >
56
// member& operator = (const ::ptr< OBJECT >& p) { m_p = dynamic_cast <TYPE*> ((OBJECT*)p.m_p); return *this; }
57
//
58
// template < typename OBJECT >
59
// member& operator = (const OBJECT* p) { m_p = dynamic_cast <TYPE*> ((OBJECT*)p); return *this; }
60
//
61
// //virtual void clear_member() override { m_p = nullptr; }
62
//
63
// //bool is_composite()const
64
// //{
65
// // return is_set() && m_p->m_eobject & e_object_composite;
66
// //}
67
//
68
// };
69
//
70
//
71
// template < typename TYPE >
72
// class composite :
73
// public member < TYPE >
74
// //virtual public member < TYPE >
75
// {
76
// public:
77
//
78
//
79
// //composite() : matter(e_object_acquire) { }
80
//
81
//
82
//
83
// protected:
84
// friend class ::object;
85
// using member < TYPE > ::operator =;
86
//
87
// bool is_composite()const { return true; }
88
//
89
// };
90
//
91
//
92
// template < typename TYPE >
93
// class reference :
94
// public member < TYPE >
95
// //virtual public member < TYPE >
96
// {
97
// public:
98
//
99
//
100
// reference() { }
101
//
102
// protected:
103
// friend class ::object;
104
// using member < TYPE > ::operator =;
105
//
106
//
107
// };
108
//
111
112
//
113
//#define __member(TYPE) ::prototype::member < TYPE >
114
//#define ::pointer<TYPE>::prototype::composite < TYPE >
115
//#define ::pointer<TYPE>::prototype::reference < TYPE >
116
117
//
118
//template<typename TYPE>
119
//inline bool is_null(const ::pointer<TYPE>& p)
120
//{
121
//
122
// return p.is_null();
123
//
124
//}
125
126
127
128
129
prototype
prototype
aaa_member.h
Generated by
1.17.0