]> git.tdb.fi Git - libs/core.git/blobdiff - source/fs/stat.cpp
Add move semantics to Variant
[libs/core.git] / source / fs / stat.cpp
index 2269ae1a016fcf5b1857cb499fd4f21a24d62820..e296ead3816b9317ecd44f0bc82bf6fbd12cbbed 100644 (file)
@@ -7,20 +7,6 @@ using namespace std;
 namespace Msp {
 namespace FS {
 
-Stat::Private::Private():
-       owner_id(0),
-       group_id(0)
-{ }
-
-
-Stat::Stat():
-       exists(false),
-       type(UNKNOWN),
-       size(0),
-       alloc_size(0),
-       priv(0)
-{ }
-
 Stat::Stat(const Stat &other):
        exists(other.exists),
        type(other.type),
@@ -28,11 +14,14 @@ Stat::Stat(const Stat &other):
        alloc_size(other.alloc_size),
        mtime(other.mtime),
        owner_info(other.owner_info),
-       priv(other.priv ? new Private(*other.priv) : 0)
+       priv(other.priv ? new Private(*other.priv) : nullptr)
 { }
 
 Stat &Stat::operator=(const Stat &other)
 {
+       if(&other==this)
+               return *this;
+
        exists = other.exists;
        type = other.type;
        size = other.size;
@@ -40,7 +29,7 @@ Stat &Stat::operator=(const Stat &other)
        mtime = other.mtime;
        owner_info = other.owner_info;
        delete priv;
-       priv = (other.priv ? new Private(*other.priv) : 0);
+       priv = (other.priv ? new Private(*other.priv) : nullptr);
 
        return *this;
 }