| 27 { |
27 { |
| 28 public: |
28 public: |
| 29 using Filter = std::function<bool(T*, int)>; |
29 using Filter = std::function<bool(T*, int)>; |
| 30 using Callback = std::function<void(T*, int)>; |
30 using Callback = std::function<void(T*, int)>; |
| 31 |
31 |
| |
32 ResourceVector() = default; |
| |
33 ResourceVector(const ResourceVector<T>&) = delete; |
| 32 ~ResourceVector(); |
34 ~ResourceVector(); |
| 33 |
35 |
| 34 void append(T) = delete; |
36 void append(T) = delete; |
| 35 template<typename TT = T, typename... Args> |
37 template<typename TT = T, typename... Args> |
| 36 TT* append(Args&&... args); |
38 TT* append(Args&&... args); |
| 48 int size() const; |
50 int size() const; |
| 49 void swap(int position1, int position2); |
51 void swap(int position1, int position2); |
| 50 void merge(ResourceVector<T>& other, int position = -1, Filter filter = nullptr, Callback callback = nullptr); |
52 void merge(ResourceVector<T>& other, int position = -1, Filter filter = nullptr, Callback callback = nullptr); |
| 51 const QVector<T*>& toQVector() const; |
53 const QVector<T*>& toQVector() const; |
| 52 |
54 |
| |
55 void operator=(const ResourceVector<T>&) = delete; |
| |
56 |
| 53 private: |
57 private: |
| 54 QVector<T*> _data; |
58 QVector<T*> _data; |
| 55 }; |
59 }; |
| 56 |
60 |
| 57 template<typename T> |
61 template<typename T> |