acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_impl_prototype.h
1//
2// Created by camilo on 23/12/2022 01:26 <3ThomasBorregaardSorensen!!
3//
4#pragma once
5
6
7
8
9#if !defined(_DEBUG)
10
11
12inline ::i64 subparticle::increment_reference_count()
13{
14
15 auto c = ++m_countReference;
16
17//#if REFERENCING_DEBUGGING
18//
19// add_ref_history(pReferer, pszObjRefDbg);
20//
21//#endif
22
23 return c;
24
25}
26
27
28inline ::i64 subparticle::decrement_reference_count()
29{
30
31 auto c = --m_countReference;
32
33//#if REFERENCING_DEBUGGING
34//
35// if (c > 0)
36// {
37//
38// dec_ref_history(pReferer, pszObjRefDbg);
39//
40// }
41//
42//#endif
43
44 return c;
45
46}
47
48
49inline ::i64 subparticle::release()
50{
51
52 ::i64 i = decrement_reference_count();
53
54 if (i == 0)
55 {
56
57 delete_this();
58
59 }
60
61 return i;
62
63}
64
65
66inline ::i64 subparticle::replace_reference()
67{
68
69 return m_countReference;
70
71}
72
73
74#endif
75
76
77