diff options
Diffstat (limited to '')
-rw-r--r-- | external/mdds/delta-signed-int.diff | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/external/mdds/delta-signed-int.diff b/external/mdds/delta-signed-int.diff new file mode 100644 index 000000000..8612b8543 --- /dev/null +++ b/external/mdds/delta-signed-int.diff @@ -0,0 +1,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. |