From 1dad5b5aaa139993fe19e266d08dfc55844e6804 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 12 Jan 2013 23:38:03 +0000 Subject: Remove Raul::SharedPtr and switch to std::shared_ptr. Use project local short type aliases for shared_ptr and friends. Move Raul::Disposable and Raul::Manageable into Raul::Maid. Use sets to store machina nodes and edges to avoid O(n) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4939 a436a847-0d15-0410-975c-d299462d15a1 --- src/client/ClientModel.cpp | 18 +++++++++--------- src/client/ClientModel.hpp | 14 +++++++------- src/client/ClientObject.hpp | 9 ++++----- 3 files changed, 20 insertions(+), 21 deletions(-) (limited to 'src/client') diff --git a/src/client/ClientModel.cpp b/src/client/ClientModel.cpp index c945de7..1cc4d3e 100644 --- a/src/client/ClientModel.cpp +++ b/src/client/ClientModel.cpp @@ -20,20 +20,20 @@ namespace Machina { namespace Client { -SharedPtr +SPtr ClientModel::find(uint64_t id) { - SharedPtr key(new ClientObjectKey(id)); - Objects::iterator i = _objects.find(key); + SPtr key(new ClientObjectKey(id)); + Objects::iterator i = _objects.find(key); if (i != _objects.end()) { return *i; } else { - return SharedPtr(); + return SPtr(); } } void -ClientModel::new_object(SharedPtr object) +ClientModel::new_object(SPtr object) { _objects.insert(object); signal_new_object.emit(object); @@ -42,21 +42,21 @@ ClientModel::new_object(SharedPtr object) void ClientModel::erase_object(uint64_t id) { - SharedPtr key(new ClientObjectKey(id)); - Objects::iterator i = _objects.find(key); + SPtr key(new ClientObjectKey(id)); + Objects::iterator i = _objects.find(key); if (i == _objects.end()) { return; } signal_erase_object.emit(*i); - (*i)->set_view(SharedPtr()); + (*i)->set_view(SPtr()); _objects.erase(i); } void ClientModel::property(uint64_t id, URIInt key, const Raul::Atom& value) { - SharedPtr object = find(id); + SPtr object = find(id); if (object) { object->set(key, value); } diff --git a/src/client/ClientModel.hpp b/src/client/ClientModel.hpp index 07500db..b629a37 100644 --- a/src/client/ClientModel.hpp +++ b/src/client/ClientModel.hpp @@ -34,25 +34,25 @@ namespace Client { class ClientModel { public: - void new_object(SharedPtr object); + void new_object(SPtr object); void erase_object(uint64_t id); void property(uint64_t id, URIInt key, const Raul::Atom& value); - SharedPtr find(uint64_t id); + SPtr find(uint64_t id); - sigc::signal< void, SharedPtr > signal_new_object; - sigc::signal< void, SharedPtr > signal_erase_object; + sigc::signal< void, SPtr > signal_new_object; + sigc::signal< void, SPtr > signal_erase_object; private: struct ClientObjectComparator { - inline bool operator()(SharedPtr lhs, - SharedPtr rhs) const { + inline bool operator()(SPtr lhs, + SPtr rhs) const { return lhs->id() < rhs->id(); } }; - typedef std::set, ClientObjectComparator> Objects; + typedef std::set, ClientObjectComparator> Objects; Objects _objects; }; diff --git a/src/client/ClientObject.hpp b/src/client/ClientObject.hpp index 994a5ba..df8a1dd 100644 --- a/src/client/ClientObject.hpp +++ b/src/client/ClientObject.hpp @@ -23,7 +23,6 @@ #include #include "raul/Atom.hpp" -#include "raul/SharedPtr.hpp" #include "machina/types.hpp" @@ -52,12 +51,12 @@ public: typedef std::map Properties; const Properties& properties() { return _properties; } - SharedPtr view() const { return _view; } - void set_view(SharedPtr view) { _view = view; } + SPtr view() const { return _view; } + void set_view(SPtr view) { _view = view; } private: - uint64_t _id; - SharedPtr _view; + uint64_t _id; + SPtr _view; Properties _properties; }; -- cgit v1.2.1