Update to 0.12.1

* Apply patches from LibreOffice 5.0.0.5.

Changelog:
mdds 0.12.1

* flat_segment_tree

  * removed construction-from-int requirement from value_type to allow
    non-numeric types to be stored.
  * removed construction-from-int requirement from key_type as well.
This commit is contained in:
ryoon 2015-08-12 00:45:18 +00:00
parent 7e03c0c4e2
commit 8f36458e57
10 changed files with 213 additions and 13 deletions

View file

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.27 2015/04/17 15:53:01 adam Exp $
# $NetBSD: Makefile,v 1.28 2015/08/12 00:45:18 ryoon Exp $
DISTNAME= mdds_0.12.0
DISTNAME= mdds_0.12.1
PKGNAME= ${DISTNAME:S/_/-/}
PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://kohei.us/files/mdds/src/
EXTRACT_SUFX= .tar.bz2
@ -15,20 +14,22 @@ LICENSE= mit
USE_LANGUAGES= c++
GNU_CONFIGURE= yes
NO_BUILD= yes
#NO_BUILD= yes
INSTALLATION_DIRS= include/mdds/compat include/mdds/hash_container \
share/pkgconfig
PKGCONFIG_OVERRIDE+= misc/mdds.pc.in
do-install:
for i in ${WRKSRC}/include/mdds/*.*; do \
for i in ${WRKSRC}/include/mdds/*.hpp; do \
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds; \
done
for i in ${WRKSRC}/include/mdds/compat/*.*; do \
for i in ${WRKSRC}/include/mdds/*.inl; do \
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds; \
done
for i in ${WRKSRC}/include/mdds/compat/*.hpp; do \
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds/compat; \
done
rm -f ${DESTDIR}${PREFIX}/include/mdds/*orig
for i in ${WRKSRC}/include/mdds/hash_container/*.*; do \
for i in ${WRKSRC}/include/mdds/hash_container/*.hpp; do \
${INSTALL_DATA} $$i \
${DESTDIR}${PREFIX}/include/mdds/hash_container; \
done

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.7 2015/02/04 18:01:25 ryoon Exp $
@comment $NetBSD: PLIST,v 1.8 2015/08/12 00:45:18 ryoon Exp $
include/mdds/compat/unique_ptr.hpp
include/mdds/default_deleter.hpp
include/mdds/flat_segment_tree.hpp
@ -30,6 +30,7 @@ include/mdds/quad_node.hpp
include/mdds/rectangle_set.hpp
include/mdds/rectangle_set_def.inl
include/mdds/segment_tree.hpp
include/mdds/segment_tree_def.inl
include/mdds/sorted_string_map.hpp
include/mdds/sorted_string_map_def.inl
share/pkgconfig/mdds.pc

View file

@ -1,5 +1,12 @@
$NetBSD: distinfo,v 1.13 2015/02/27 13:39:41 wiz Exp $
$NetBSD: distinfo,v 1.14 2015/08/12 00:45:18 ryoon Exp $
SHA1 (mdds_0.12.0.tar.bz2) = 043590edde76a1df3e96070c46cbc7ae5f88f081
RMD160 (mdds_0.12.0.tar.bz2) = d2c47e8cd53ef66aa9d5e5f77f73d74f0e1551d8
Size (mdds_0.12.0.tar.bz2) = 152285 bytes
SHA1 (mdds_0.12.1.tar.bz2) = e7469349f8d0c65545896fe553918f3ea93bd84d
RMD160 (mdds_0.12.1.tar.bz2) = 351e681e04558a7cd4f8e16d8130c60c4760c7da
Size (mdds_0.12.1.tar.bz2) = 153265 bytes
SHA1 (patch-include_mdds_flat__segment__tree.hpp) = 3b5a0c3687ff5a5c53362fda4271d6eded2f327c
SHA1 (patch-include_mdds_flat__segment__tree__def.inl) = 111c1c0d3e4d1bca421f962c41572a5f805d4e80
SHA1 (patch-include_mdds_mixed__type__matrix__def.inl) = 602b7a2edfb7321404c5603265e553bf771de26c
SHA1 (patch-include_mdds_mixed__type__matrix__storage__filled__linear.inl) = bd5c00d8032a74fab956bc64d691f0da1bf0acf6
SHA1 (patch-include_mdds_multi__type__vector__itr.hpp) = ac5db6ee22a6aced27346088ce3b597c91d01cc5
SHA1 (patch-include_mdds_point__quad__tree.hpp) = 2237a712ef0b031d59846b08b087dc4e5ad5ac8e
SHA1 (patch-src_flat__segment__tree__test.cpp) = 1b3345d1e7e97c503d757d163f47b14e2f43a707

View file

@ -0,0 +1,14 @@
$NetBSD: patch-include_mdds_flat__segment__tree.hpp,v 1.1 2015/08/12 00:45:18 ryoon Exp $
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commit;h=bead58cb4042ac42dee890e2f21ab7ea81136e54
--- include/mdds/flat_segment_tree.hpp.orig 2015-06-11 23:53:55.000000000 +0000
+++ include/mdds/flat_segment_tree.hpp
@@ -32,7 +32,6 @@
#include <sstream>
#include <utility>
#include <cassert>
-#include <limits>
#include "mdds/node.hpp"
#include "mdds/flat_segment_tree_itr.hpp"

View file

@ -0,0 +1,15 @@
$NetBSD: patch-include_mdds_flat__segment__tree__def.inl,v 1.1 2015/08/12 00:45:18 ryoon Exp $
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commit;h=bead58cb4042ac42dee890e2f21ab7ea81136e54
--- include/mdds/flat_segment_tree_def.inl.orig 2015-06-11 23:53:55.000000000 +0000
+++ include/mdds/flat_segment_tree_def.inl
@@ -46,7 +46,7 @@ flat_segment_tree<_Key, _Value>::flat_se
// We don't ever use the value of the right leaf node, but we need the
// value to be always the same, to make it easier to check for
// equality.
- m_right_leaf->value_leaf.value = ::std::numeric_limits<value_type>::max();
+ m_right_leaf->value_leaf.value = init_val;
}
template<typename _Key, typename _Value>

View file

@ -0,0 +1,15 @@
$NetBSD: patch-include_mdds_mixed__type__matrix__def.inl,v 1.1 2015/08/12 00:45:18 ryoon Exp $
--- include/mdds/mixed_type_matrix_def.inl.orig 2015-06-11 23:53:55.000000000 +0000
+++ include/mdds/mixed_type_matrix_def.inl
@@ -220,8 +220,8 @@ void mixed_type_matrix<_String,_Flag>::a
// assignment to self.
return;
- size_t row_count = ::std::min(mp_storage->rows(), r.mp_storage->rows());
- size_t col_count = ::std::min(mp_storage->cols(), r.mp_storage->cols());
+ size_t row_count = (::std::min)(mp_storage->rows(), r.mp_storage->rows());
+ size_t col_count = (::std::min)(mp_storage->cols(), r.mp_storage->cols());
for (size_t i = 0; i < row_count; ++i)
for (size_t j = 0; j < col_count; ++j)
mp_storage->get_element(i, j) = r.mp_storage->get_element(i, j);

View file

@ -0,0 +1,26 @@
$NetBSD: patch-include_mdds_mixed__type__matrix__storage__filled__linear.inl,v 1.1 2015/08/12 00:45:18 ryoon Exp $
--- include/mdds/mixed_type_matrix_storage_filled_linear.inl.orig 2015-06-11 23:53:55.000000000 +0000
+++ include/mdds/mixed_type_matrix_storage_filled_linear.inl
@@ -354,8 +354,8 @@ public:
}
array_type new_array(new_size, &m_init_elem);
- size_t min_rows = ::std::min(row, m_rows);
- size_t min_cols = ::std::min(col, m_cols);
+ size_t min_rows = (::std::min)(row, m_rows);
+ size_t min_cols = (::std::min)(col, m_cols);
for (size_t i = 0; i < min_rows; ++i)
{
for (size_t j = 0; j < min_cols; ++j)
@@ -614,8 +614,8 @@ public:
}
array_type new_array(new_size, element(0.0));
- size_t min_rows = ::std::min(row, m_rows);
- size_t min_cols = ::std::min(col, m_cols);
+ size_t min_rows = (::std::min)(row, m_rows);
+ size_t min_cols = (::std::min)(col, m_cols);
for (size_t i = 0; i < min_rows; ++i)
{
for (size_t j = 0; j < min_cols; ++j)

View file

@ -0,0 +1,85 @@
$NetBSD: patch-include_mdds_multi__type__vector__itr.hpp,v 1.1 2015/08/12 00:45:18 ryoon Exp $
--- include/mdds/multi_type_vector_itr.hpp.orig 2015-06-11 23:53:55.000000000 +0000
+++ include/mdds/multi_type_vector_itr.hpp
@@ -139,14 +139,15 @@ protected:
typedef typename parent_type::size_type size_type;
typedef iterator_value_node<size_type, typename parent_type::element_block_type> node;
- iterator_common_base() : m_cur_node(0, 0) {}
+ iterator_common_base() : m_cur_node(0, 0), m_singular(true) {}
iterator_common_base(
const base_iterator_type& pos, const base_iterator_type& end,
size_type start_pos, size_type block_index) :
m_cur_node(start_pos, block_index),
m_pos(pos),
- m_end(end)
+ m_end(end),
+ m_singular(false)
{
if (m_pos != m_end)
update_node();
@@ -154,9 +155,13 @@ protected:
iterator_common_base(const iterator_common_base& other) :
m_cur_node(other.m_cur_node),
- m_pos(other.m_pos),
- m_end(other.m_end)
+ m_singular(other.m_singular)
{
+ if (!m_singular)
+ {
+ m_pos = other.m_pos;
+ m_end = other.m_end;
+ }
}
void update_node()
@@ -196,6 +201,7 @@ protected:
node m_cur_node;
base_iterator_type m_pos;
base_iterator_type m_end;
+ bool m_singular;
public:
bool operator== (const iterator_common_base& other) const
@@ -218,16 +224,34 @@ public:
iterator_common_base& operator= (const iterator_common_base& other)
{
m_cur_node = other.m_cur_node;
- m_pos = other.m_pos;
- m_end = other.m_end;
+ m_singular = other.m_singular;
+ if (!m_singular)
+ {
+ m_pos = other.m_pos;
+ m_end = other.m_end;
+ }
return *this;
}
void swap(iterator_common_base& other)
{
m_cur_node.swap(other.m_cur_node);
- std::swap(m_pos, other.m_pos);
- std::swap(m_end, other.m_end);
+ std::swap(m_singular, other.m_singular);
+ if (!(m_singular || other.m_singular))
+ {
+ std::swap(m_pos, other.m_pos);
+ std::swap(m_end, other.m_end);
+ }
+ else if (!m_singular)
+ {
+ m_pos = other.m_pos;
+ m_end = other.m_end;
+ }
+ else if (!other.m_singular)
+ {
+ other.m_pos = m_pos;
+ other.m_end = m_end;
+ }
}
const node& get_node() const { return m_cur_node; }

View file

@ -0,0 +1,19 @@
$NetBSD: patch-include_mdds_point__quad__tree.hpp,v 1.1 2015/08/12 00:45:18 ryoon Exp $
--- include/mdds/point_quad_tree.hpp.orig 2015-06-11 23:53:55.000000000 +0000
+++ include/mdds/point_quad_tree.hpp
@@ -635,10 +635,10 @@ point_quad_tree<_Key,_Data>::~point_quad
template<typename _Key, typename _Data>
void point_quad_tree<_Key,_Data>::insert(key_type x, key_type y, data_type data)
{
- m_xrange.first = ::std::min(m_xrange.first, x);
- m_xrange.second = ::std::max(m_xrange.second, x);
- m_yrange.first = ::std::min(m_yrange.first, y);
- m_yrange.second = ::std::max(m_yrange.second, y);
+ m_xrange.first = (::std::min)(m_xrange.first, x);
+ m_xrange.second = (::std::max)(m_xrange.second, x);
+ m_yrange.first = (::std::min)(m_yrange.first, y);
+ m_yrange.second = (::std::max)(m_yrange.second, y);
if (!m_root)
{

View file

@ -0,0 +1,17 @@
$NetBSD: patch-src_flat__segment__tree__test.cpp,v 1.1 2015/08/12 00:45:18 ryoon Exp $
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commit;h=bead58cb4042ac42dee890e2f21ab7ea81136e54
--- src/flat_segment_tree_test.cpp.orig 2015-06-11 23:53:55.000000000 +0000
+++ src/flat_segment_tree_test.cpp
@@ -1943,6 +1943,10 @@ void fst_test_non_numeric_value()
db.search(1, result);
assert(result == "hello world");
+
+ db_type db2(db);
+
+ assert(db == db2);
}
void fst_test_non_numeric_key()