summaryrefslogtreecommitdiffstats
path: root/external/mdds/delta-signed-int.diff
blob: 8612b854378de7ecaf280bc970a8cdf084ca943f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
diff --git a/include/mdds/multi_type_vector.hpp b/include/mdds/multi_type_vector.hpp
index d941ee2..71c34f3 100644
--- a/include/mdds/multi_type_vector.hpp
+++ b/include/mdds/multi_type_vector.hpp
@@ -1071,7 +1071,7 @@ public:
 
 private:
 
-    void adjust_block_positions(int64_t start_block_index, size_type delta);
+    void adjust_block_positions(int64_t start_block_index, int64_t delta);
 
     /**
      * Delete only the element block owned by an outer block.
diff --git a/include/mdds/multi_type_vector_def.inl b/include/mdds/multi_type_vector_def.inl
index d4fff49..7509e3e 100644
--- a/include/mdds/multi_type_vector_def.inl
+++ b/include/mdds/multi_type_vector_def.inl
@@ -503,7 +503,7 @@ multi_type_vector<_CellBlockFunc, _EventFunc>::set(const iterator& pos_hint, siz
 }
 
 template<typename _CellBlockFunc, typename _EventFunc>
-void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64_t start_block_index, size_type delta)
+void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64_t start_block_index, int64_t delta)
 {
     int64_t n = m_blocks.size();
 
@@ -2927,7 +2927,7 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::erase_impl(size_type start_r
     // Now, erase all blocks in between.
     delete_element_blocks(it_erase_begin, it_erase_end);
     auto it_adjust_block = m_blocks.erase(it_erase_begin, it_erase_end);
-    size_type delta = end_row - start_row + 1;
+    int64_t delta = end_row - start_row + 1;
     m_cur_size -= delta;
 
     if (m_blocks.empty())
@@ -2945,7 +2945,7 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::erase_in_single_block(
 {
     // Range falls within the same block.
     block* blk = &m_blocks[block_pos];
-    size_type size_to_erase = end_pos - start_pos + 1;
+    int64_t size_to_erase = end_pos - start_pos + 1;
     if (blk->mp_data)
     {
         // Erase data in the data block.