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:
parent
7e03c0c4e2
commit
8f36458e57
10 changed files with 213 additions and 13 deletions
|
@ -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/_/-/}
|
PKGNAME= ${DISTNAME:S/_/-/}
|
||||||
PKGREVISION= 1
|
|
||||||
CATEGORIES= devel
|
CATEGORIES= devel
|
||||||
MASTER_SITES= http://kohei.us/files/mdds/src/
|
MASTER_SITES= http://kohei.us/files/mdds/src/
|
||||||
EXTRACT_SUFX= .tar.bz2
|
EXTRACT_SUFX= .tar.bz2
|
||||||
|
@ -15,20 +14,22 @@ LICENSE= mit
|
||||||
|
|
||||||
USE_LANGUAGES= c++
|
USE_LANGUAGES= c++
|
||||||
GNU_CONFIGURE= yes
|
GNU_CONFIGURE= yes
|
||||||
NO_BUILD= yes
|
#NO_BUILD= yes
|
||||||
INSTALLATION_DIRS= include/mdds/compat include/mdds/hash_container \
|
INSTALLATION_DIRS= include/mdds/compat include/mdds/hash_container \
|
||||||
share/pkgconfig
|
share/pkgconfig
|
||||||
PKGCONFIG_OVERRIDE+= misc/mdds.pc.in
|
PKGCONFIG_OVERRIDE+= misc/mdds.pc.in
|
||||||
|
|
||||||
do-install:
|
do-install:
|
||||||
for i in ${WRKSRC}/include/mdds/*.*; do \
|
for i in ${WRKSRC}/include/mdds/*.hpp; do \
|
||||||
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds; \
|
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds; \
|
||||||
done
|
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; \
|
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds/compat; \
|
||||||
done
|
done
|
||||||
rm -f ${DESTDIR}${PREFIX}/include/mdds/*orig
|
for i in ${WRKSRC}/include/mdds/hash_container/*.hpp; do \
|
||||||
for i in ${WRKSRC}/include/mdds/hash_container/*.*; do \
|
|
||||||
${INSTALL_DATA} $$i \
|
${INSTALL_DATA} $$i \
|
||||||
${DESTDIR}${PREFIX}/include/mdds/hash_container; \
|
${DESTDIR}${PREFIX}/include/mdds/hash_container; \
|
||||||
done
|
done
|
||||||
|
|
|
@ -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/compat/unique_ptr.hpp
|
||||||
include/mdds/default_deleter.hpp
|
include/mdds/default_deleter.hpp
|
||||||
include/mdds/flat_segment_tree.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.hpp
|
||||||
include/mdds/rectangle_set_def.inl
|
include/mdds/rectangle_set_def.inl
|
||||||
include/mdds/segment_tree.hpp
|
include/mdds/segment_tree.hpp
|
||||||
|
include/mdds/segment_tree_def.inl
|
||||||
include/mdds/sorted_string_map.hpp
|
include/mdds/sorted_string_map.hpp
|
||||||
include/mdds/sorted_string_map_def.inl
|
include/mdds/sorted_string_map_def.inl
|
||||||
share/pkgconfig/mdds.pc
|
share/pkgconfig/mdds.pc
|
||||||
|
|
|
@ -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
|
SHA1 (mdds_0.12.1.tar.bz2) = e7469349f8d0c65545896fe553918f3ea93bd84d
|
||||||
RMD160 (mdds_0.12.0.tar.bz2) = d2c47e8cd53ef66aa9d5e5f77f73d74f0e1551d8
|
RMD160 (mdds_0.12.1.tar.bz2) = 351e681e04558a7cd4f8e16d8130c60c4760c7da
|
||||||
Size (mdds_0.12.0.tar.bz2) = 152285 bytes
|
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
|
||||||
|
|
|
@ -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"
|
|
@ -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>
|
|
@ -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);
|
|
@ -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)
|
|
@ -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; }
|
19
devel/mdds/patches/patch-include_mdds_point__quad__tree.hpp
Normal file
19
devel/mdds/patches/patch-include_mdds_point__quad__tree.hpp
Normal 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)
|
||||||
|
{
|
17
devel/mdds/patches/patch-src_flat__segment__tree__test.cpp
Normal file
17
devel/mdds/patches/patch-src_flat__segment__tree__test.cpp
Normal 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()
|
Loading…
Reference in a new issue