src/misc/DocumentPointer.cc

changeset 652
5d37b2f2ae16
parent 642
751a8df42842
equal deleted inserted replaced
651:747e84062279 652:5d37b2f2ae16
21 #include "../Misc.h" 21 #include "../Misc.h"
22 22
23 LDDocumentPointer::LDDocumentPointer() : m_pointer (null) {} 23 LDDocumentPointer::LDDocumentPointer() : m_pointer (null) {}
24 24
25 // ============================================================================= 25 // =============================================================================
26 // ----------------------------------------------------------------------------- 26 //
27 LDDocumentPointer::LDDocumentPointer (LDDocument* ptr) : 27 LDDocumentPointer::LDDocumentPointer (LDDocument* ptr) :
28 m_pointer (ptr) 28 m_pointer (ptr)
29 { 29 {
30 addReference (); 30 addReference ();
31 } 31 }
32 32
33 // ============================================================================= 33 // =============================================================================
34 // ----------------------------------------------------------------------------- 34 //
35 LDDocumentPointer::LDDocumentPointer (const LDDocumentPointer& other) : 35 LDDocumentPointer::LDDocumentPointer (const LDDocumentPointer& other) :
36 m_pointer (other.pointer()) 36 m_pointer (other.pointer())
37 { 37 {
38 addReference (); 38 addReference ();
39 } 39 }
40 40
41 // ============================================================================= 41 // =============================================================================
42 // ----------------------------------------------------------------------------- 42 //
43 LDDocumentPointer::~LDDocumentPointer() 43 LDDocumentPointer::~LDDocumentPointer()
44 { 44 {
45 removeReference(); 45 removeReference();
46 } 46 }
47 47
48 // ============================================================================= 48 // =============================================================================
49 // ----------------------------------------------------------------------------- 49 //
50 void LDDocumentPointer::addReference() 50 void LDDocumentPointer::addReference()
51 { 51 {
52 if (pointer() != null) 52 if (pointer() != null)
53 pointer()->addReference (this); 53 pointer()->addReference (this);
54 } 54 }
55 55
56 // ============================================================================= 56 // =============================================================================
57 // ----------------------------------------------------------------------------- 57 //
58 void LDDocumentPointer::removeReference() 58 void LDDocumentPointer::removeReference()
59 { 59 {
60 if (pointer() != null) 60 if (pointer() != null)
61 pointer()->removeReference (this); 61 pointer()->removeReference (this);
62 } 62 }
63 63
64 // ============================================================================= 64 // =============================================================================
65 // ----------------------------------------------------------------------------- 65 //
66 LDDocumentPointer& LDDocumentPointer::operator= (LDDocument* ptr) 66 LDDocumentPointer& LDDocumentPointer::operator= (LDDocument* ptr)
67 { 67 {
68 if (ptr != pointer()) 68 if (ptr != pointer())
69 { 69 {
70 removeReference(); 70 removeReference();

mercurial