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.
|