acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
address_object.h
1// Created by camilo on 2025-12-17 18:43 <3ThomasBorregaardSørensen!!
2#pragma once
3
4
5template < typename TYPE >
6 class address_object
7{
8public:
9
10 TYPE *m_p;
11
12
13 address_object()
14 {
15
16 m_p = new TYPE;
17
18 }
19
20 ~address_object()
21 {
22
23 delete m_p;
24
25 }
26
27 address_object(const TYPE &object) : m_p( new TYPE(object))
28 {
29 }
30
31
32 address_object(const address_object & addressobject) :
33 address_object(*addressobject.m_p)
34 {
35
36
37 }
38
39
40 address_object & operator =(const address_object &addressobject)
41 {
42
43 if (this != &addressobject && m_p != addressobject.m_p)
44 {
45
46 *m_p = *addressobject.m_p;
47
48 }
49
50 return *this;
51 }
52
53 operator TYPE * ()
54 {
55
56 return m_p;
57
58 }
59 operator const TYPE *() const
60 {
61
62 return m_p;
63 }
64
65};