summaryrefslogtreecommitdiffstats
path: root/external/mdds/delta-signed-int.diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--external/mdds/delta-signed-int.diff44
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.