X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/5ac9b6c2949b075cbb8d8c91dd9f603f3f8ad0a3..1e8eb98d30459399902534082c88b94bb26bb2e3:/include/stg/user_traff.h?ds=sidebyside

diff --git a/include/stg/user_traff.h b/include/stg/user_traff.h
index 8ef8e260..5abcee33 100644
--- a/include/stg/user_traff.h
+++ b/include/stg/user_traff.h
@@ -29,10 +29,10 @@
 
 #include "resetable.h"
 #include "const.h"
-#include "os_int.h"
 
 #include <iostream>
 #include <vector>
+#include <cstdint>
 
 enum TRAFF_DIRECTION {TRAFF_UPLOAD, TRAFF_DOWNLOAD};
 
@@ -45,8 +45,6 @@ public:
     typedef ContainerType::size_type IndexType;
 
     DIR_TRAFF() : traff(DIR_NUM) {}
-    DIR_TRAFF(const DIR_TRAFF & ts) : traff(ts.traff) {}
-    DIR_TRAFF & operator=(const DIR_TRAFF & ts) { traff = ts.traff; return *this; }
     const uint64_t & operator[](IndexType idx) const { return traff[idx]; }
     uint64_t & operator[](IndexType idx) { return traff[idx]; }
     IndexType size() const { return traff.size(); }
@@ -86,12 +84,18 @@ public:
     typedef ContainerType::size_type IndexType;
 
     DIR_TRAFF_RES() : traff(DIR_NUM) {}
-    DIR_TRAFF_RES(const DIR_TRAFF & ts)
+    explicit DIR_TRAFF_RES(const DIR_TRAFF & ts)
         : traff(ts.size())
     {
     for (IndexType i = 0; i < ts.size(); ++i)
         traff[i] = ts[i];
     }
+    DIR_TRAFF_RES & operator=(const DIR_TRAFF & ts)
+    {
+        for (IndexType i = 0; i < ts.size(); ++i)
+            traff[i] = ts[i];
+        return *this;
+    }
     const ValueType & operator[](IndexType idx) const { return traff[idx]; }
     ValueType & operator[](IndexType idx) { return traff[idx]; }
     IndexType size() const { return traff.size(); }