]> git.stg.codes - stg.git/blobdiff - include/stg/user_traff.h
Merge branch 'naffanya-dev'
[stg.git] / include / stg / user_traff.h
index 41c6c23fe63814c37c1da51a9a49a43ddbd1ccde..e1176b90fdcc3c4ed00169bbf6bd413c0dc8bff9 100644 (file)
 #ifndef USER_TRAFF_H
 #define USER_TRAFF_H
 
 #ifndef USER_TRAFF_H
 #define USER_TRAFF_H
 
-#include <iostream>
-#include <vector>
-
+#include "resetable.h"
 #include "const.h"
 #include "os_int.h"
 
 #include "const.h"
 #include "os_int.h"
 
+#include <iostream>
+#include <vector>
+
 enum TRAFF_DIRECTION {TRAFF_UPLOAD, TRAFF_DOWNLOAD};
 
 class DIR_TRAFF
 enum TRAFF_DIRECTION {TRAFF_UPLOAD, TRAFF_DOWNLOAD};
 
 class DIR_TRAFF
@@ -73,6 +74,7 @@ return o;
 class DIR_TRAFF_RES
 {
 public:
 class DIR_TRAFF_RES
 {
 public:
+    typedef RESETABLE<uint64_t> value_type;
     typedef RESETABLE<uint64_t> ValueType;
     typedef std::vector<ValueType> ContainerType;
     typedef ContainerType::size_type IndexType;
     typedef RESETABLE<uint64_t> ValueType;
     typedef std::vector<ValueType> ContainerType;
     typedef ContainerType::size_type IndexType;
@@ -86,9 +88,10 @@ public:
     }
     const ValueType & operator[](IndexType idx) const { return traff[idx]; }
     ValueType & operator[](IndexType idx) { return traff[idx]; }
     }
     const ValueType & operator[](IndexType idx) const { return traff[idx]; }
     ValueType & operator[](IndexType idx) { return traff[idx]; }
+    IndexType size() const { return traff.size(); }
     DIR_TRAFF GetData() const
     {
     DIR_TRAFF GetData() const
     {
-    DIR_TRAFF res(traff.size());
+    DIR_TRAFF res;
     for (IndexType i = 0; i < traff.size(); ++i)
         if (!traff[i].empty())
             res[i] = traff[i].data();
     for (IndexType i = 0; i < traff.size(); ++i)
         if (!traff[i].empty())
             res[i] = traff[i].data();