]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resource.cpp
Add correct copy and move semantics to most classes
[libs/gl.git] / source / resources / resource.cpp
index 644c55bb0ca198c167655249406e5f540e3b26b4..60d611f8ace7a20386a9232497e2f2f0dfb42e1a 100644 (file)
@@ -10,6 +10,19 @@ Resource::~Resource()
                manager->remove_resource(*this);
 }
 
+Resource::Resource(Resource &&other):
+       manager(other.manager),
+       manager_data(other.manager_data)
+{
+       if(manager)
+       {
+               manager->move_resource(other, *this);
+               manager_data = manager->get_data_for_resource(*this);
+       }
+       other.manager = 0;
+       other.manager_data = 0;
+}
+
 void Resource::set_manager(ResourceManager *m)
 {
        if(manager)