Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/msdfgen/core/EdgeHolder.cpp
9903 views
1
2
#include "EdgeHolder.h"
3
4
namespace msdfgen {
5
6
void EdgeHolder::swap(EdgeHolder &a, EdgeHolder &b) {
7
EdgeSegment *tmp = a.edgeSegment;
8
a.edgeSegment = b.edgeSegment;
9
b.edgeSegment = tmp;
10
}
11
12
EdgeHolder::EdgeHolder(const EdgeHolder &orig) : edgeSegment(orig.edgeSegment ? orig.edgeSegment->clone() : NULL) { }
13
14
#ifdef MSDFGEN_USE_CPP11
15
EdgeHolder::EdgeHolder(EdgeHolder &&orig) : edgeSegment(orig.edgeSegment) {
16
orig.edgeSegment = NULL;
17
}
18
#endif
19
20
EdgeHolder::~EdgeHolder() {
21
delete edgeSegment;
22
}
23
24
EdgeHolder &EdgeHolder::operator=(const EdgeHolder &orig) {
25
if (this != &orig) {
26
delete edgeSegment;
27
edgeSegment = orig.edgeSegment ? orig.edgeSegment->clone() : NULL;
28
}
29
return *this;
30
}
31
32
#ifdef MSDFGEN_USE_CPP11
33
EdgeHolder &EdgeHolder::operator=(EdgeHolder &&orig) {
34
if (this != &orig) {
35
delete edgeSegment;
36
edgeSegment = orig.edgeSegment;
37
orig.edgeSegment = NULL;
38
}
39
return *this;
40
}
41
#endif
42
43
EdgeSegment &EdgeHolder::operator*() {
44
return *edgeSegment;
45
}
46
47
const EdgeSegment &EdgeHolder::operator*() const {
48
return *edgeSegment;
49
}
50
51
EdgeSegment *EdgeHolder::operator->() {
52
return edgeSegment;
53
}
54
55
const EdgeSegment *EdgeHolder::operator->() const {
56
return edgeSegment;
57
}
58
59
EdgeHolder::operator EdgeSegment *() {
60
return edgeSegment;
61
}
62
63
EdgeHolder::operator const EdgeSegment *() const {
64
return edgeSegment;
65
}
66
67
}
68
69