Skip to content

Commit 445cfac

Browse files
raskyLukeUsher
authored andcommitted
stdc++: migrate nall to std::shared_ptr
1 parent 7989498 commit 445cfac

File tree

9 files changed

+27
-28
lines changed

9 files changed

+27
-28
lines changed

nall/nall/http/message.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ struct Variable {
1313
};
1414

1515
struct SharedVariable {
16-
SharedVariable(const nall::string& name = "", const nall::string& value = "") : shared(new Variable{name, value}) {}
16+
SharedVariable(const nall::string& name = "", const nall::string& value = "") : shared(std::make_shared<Variable>(Variable{name, value})) {}
1717

1818
explicit operator bool() const { return (bool)shared->name; }
1919
auto operator()() const { return shared->value; }
@@ -30,7 +30,7 @@ struct SharedVariable {
3030
auto& setName(const nall::string& name) { shared->name = name; return *this; }
3131
auto& setValue(const nall::string& value = "") { shared->value = value; return *this; }
3232

33-
shared_pointer<Variable> shared;
33+
std::shared_ptr<Variable> shared;
3434
};
3535

3636
struct Variables {

nall/nall/nall.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
#include <nall/run.hpp>
4848
#include <nall/serializer.hpp>
4949
#include <nall/set.hpp>
50-
#include <nall/shared-pointer.hpp>
50+
// #include <nall/shared-pointer.hpp> // migrated to std::shared_ptr
5151
#include <nall/stdint.hpp>
5252
#include <nall/string.hpp>
5353
#include <nall/terminal.hpp>

nall/nall/string.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include <nall/intrinsics.hpp>
1717
#include <nall/memory.hpp>
1818
#include <nall/primitives.hpp>
19-
#include <nall/shared-pointer.hpp>
2019
#include <nall/stdint.hpp>
2120
#include <nall/utility.hpp>
2221
#include <nall/varint.hpp>

nall/nall/string/markup/bml.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace nall::BML {
88
//metadata is used to store nesting level
99

1010
struct ManagedNode;
11-
using SharedNode = shared_pointer<ManagedNode>;
11+
using SharedNode = std::shared_ptr<ManagedNode>;
1212

1313
struct ManagedNode : Markup::ManagedNode {
1414
protected:
@@ -68,7 +68,7 @@ struct ManagedNode : Markup::ManagedNode {
6868
while(*p == ' ') p++; //skip excess spaces
6969
if(*(p + 0) == '/' && *(p + 1) == '/') break; //skip comments
7070

71-
SharedNode node(new ManagedNode);
71+
SharedNode node = std::make_shared<ManagedNode>();
7272
u32 length = 0;
7373
while(valid(p[length])) length++;
7474
if(length == 0) throw "Invalid attribute name";
@@ -96,7 +96,7 @@ struct ManagedNode : Markup::ManagedNode {
9696
continue;
9797
}
9898

99-
SharedNode node(new ManagedNode);
99+
SharedNode node = std::make_shared<ManagedNode>();
100100
node->parseNode(text, y, spacing);
101101
_children.push_back(node);
102102
}
@@ -144,7 +144,7 @@ struct ManagedNode : Markup::ManagedNode {
144144
};
145145

146146
inline auto unserialize(const string& markup, string_view spacing = {}) -> Markup::Node {
147-
SharedNode node(new ManagedNode);
147+
SharedNode node = std::make_shared<ManagedNode>();
148148
try {
149149
node->parse(markup, spacing);
150150
} catch(const char* error) {

nall/nall/string/markup/find.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,13 @@ inline auto ManagedNode::_create(const string& path) -> Node {
133133
return node->_create(slice(path, *position + 1));
134134
}
135135
}
136-
_children.push_back(new ManagedNode(name));
136+
_children.push_back(std::make_shared<ManagedNode>(name));
137137
return _children.back()->_create(slice(path, *position + 1));
138138
}
139139
for(auto& node : _children) {
140140
if(path == node->_name) return node;
141141
}
142-
_children.push_back(new ManagedNode(path));
142+
_children.push_back(std::make_shared<ManagedNode>(path));
143143
return _children.back();
144144
}
145145

nall/nall/string/markup/json.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace nall::JSON {
44

55
struct ManagedNode;
6-
using SharedNode = shared_pointer<ManagedNode>;
6+
using SharedNode = std::shared_ptr<ManagedNode>;
77

88
struct ManagedNode : Markup::ManagedNode {
99
protected:
@@ -41,7 +41,7 @@ struct ManagedNode : Markup::ManagedNode {
4141
return;
4242
}
4343
while(true) {
44-
SharedNode node(new ManagedNode);
44+
SharedNode node = std::make_shared<ManagedNode>();
4545
node->parseMember(p);
4646
_children.push_back(node);
4747
if(*p != ',') break;
@@ -58,7 +58,7 @@ struct ManagedNode : Markup::ManagedNode {
5858
return;
5959
}
6060
for(u32 index = 0;; index++) {
61-
SharedNode node(new ManagedNode);
61+
SharedNode node = std::make_shared<ManagedNode>();
6262
node->_name = index;
6363
node->parseElement(p);
6464
_children.push_back(node);
@@ -189,7 +189,7 @@ struct ManagedNode : Markup::ManagedNode {
189189
};
190190

191191
inline auto unserialize(const string& markup) -> Markup::Node {
192-
SharedNode node(new ManagedNode);
192+
SharedNode node = std::make_shared<ManagedNode>();
193193
try {
194194
const char* p = markup;
195195
node->parseElement(p);

nall/nall/string/markup/node.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace nall::Markup {
66

77
struct Node;
88
struct ManagedNode;
9-
using SharedNode = shared_pointer<ManagedNode>;
9+
using SharedNode = std::shared_ptr<ManagedNode>;
1010

1111
struct ManagedNode {
1212
ManagedNode() = default;
@@ -46,12 +46,12 @@ struct ManagedNode {
4646
};
4747

4848
struct Node {
49-
Node() : shared(new ManagedNode) {}
50-
Node(const SharedNode& source) : shared(source ? source : new ManagedNode) {}
51-
Node(const nall::string& name) : shared(new ManagedNode(name)) {}
52-
Node(const nall::string& name, const nall::string& value) : shared(new ManagedNode(name, value)) {}
49+
Node() : shared(std::make_shared<ManagedNode>()) {}
50+
Node(const SharedNode& source) : shared(source ? source : std::make_shared<ManagedNode>()) {}
51+
Node(const nall::string& name) : shared(std::make_shared<ManagedNode>(name)) {}
52+
Node(const nall::string& name, const nall::string& value) : shared(std::make_shared<ManagedNode>(name, value)) {}
5353

54-
auto unique() const -> bool { return shared.unique(); }
54+
auto unique() const -> bool { return shared.use_count() == 1; }
5555
auto clone() const -> Node { return shared->clone(); }
5656
auto copy(Node source) -> void { return shared->copy(source.shared); }
5757

nall/nall/string/markup/xml.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace nall::XML {
1010
// 1 = attribute
1111

1212
struct ManagedNode;
13-
using SharedNode = shared_pointer<ManagedNode>;
13+
using SharedNode = std::shared_ptr<ManagedNode>;
1414

1515
struct ManagedNode : Markup::ManagedNode {
1616
protected:
@@ -205,15 +205,15 @@ struct ManagedNode : Markup::ManagedNode {
205205
};
206206

207207
inline auto unserialize(const string& markup) -> Markup::Node {
208-
SharedNode node(new ManagedNode);
208+
SharedNode node = std::make_shared<ManagedNode>();
209+
SharedNode node1 = std::make_shared<ManagedNode>();
209210
try {
210-
211211
const char* p = markup;
212-
node->parse(p);
212+
node1->parse(p);
213213
} catch(const char* error) {
214-
node.reset();
214+
node1.reset();
215215
}
216-
return Markup::SharedNode(node);
216+
return Markup::SharedNode(node1);
217217
}
218218

219219
}

nall/nall/vfs/cdrom.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ struct cdrom : file {
8787

8888
private:
8989
auto loadCue(const string& cueLocation, const Decode::ZIP* archive, const Decode::ZIP::File* compressedFile) -> bool {
90-
auto cuesheet = shared_pointer<Decode::CUE>::create();
90+
auto cuesheet = std::make_shared<Decode::CUE>();
9191
if(!cuesheet->load(cueLocation, archive, compressedFile)) return false;
9292

9393
CD::Session session;
@@ -251,7 +251,7 @@ struct cdrom : file {
251251
}
252252
#if defined(ARES_ENABLE_CHD)
253253
auto loadChd(const string& location) -> bool {
254-
auto chd = shared_pointer<Decode::CHD>::create();
254+
auto chd = std::make_shared<Decode::CHD>();
255255
if(!chd->load(location)) return false;
256256

257257
CD::Session session;

0 commit comments

Comments
 (0)