./devel/mdds, Collection of multi-dimensional data structure and indexing algorithms

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.5.0nb1, Package name: mdds-1.5.0nb1, Maintainer: pkgsrc-users

Multi-Dimensional Data Structure (mdds)

A collection of multi-dimensional data structure and indexing algorithm.

It implements the following data structure:

* flat segment tree
* segment tree
* rectangle set

This package contains the 1.5 branch of the software.


Required to run:
[devel/boost-libs]

Required to build:
[devel/boost-headers] [pkgtools/cwrappers]

Master sites:

SHA1: 4f0701f5c6af0455178b6c63f4f5c9e889f07499
RMD160: bb94e4323d7163dd14745d7b1c1173dfbfe404bc
Filesize: 338.758 KB

Version history: (Expand)


CVS history: (Expand)


   2020-05-06 16:05:09 by Adam Ciarcinski | Files touched by this commit (591) | Package updated
Log message:
revbump after boost update
   2020-02-05 14:26:09 by Ryo ONODERA | Files touched by this commit (5) | Package updated
Log message:
mdds: Update to 1.5.0

Changelog:
mdds 1.5.0

* documentation

  * moved the documentation hosting to readthedocs.io, and adjusted the build
    steps.

  * moved the API incompatibility notes from README to the rst doc.

  * added the overview section for flat_segment_tree.

* multi_type_vector

  * fixed the static get(const const_position_type& pos) method for the
    boolean_element_block, by adding specialization for it to work around the
    issue with std::vector<bool> not having the at() method.

  * fixed an issue with the const position() method not returning a valid end
    position the same way the non-const variant does.

  * added steps to traverse blocks backward from the postiion specified in the
    position hint.  This may result in improved performance in some
    situations.

  * the standard integer blocks now use fixed size integer types i.e.

    * (u)int8_t

    * (u)int16_t

    * (u)int32_t

    * (u)int64_t

  * The numeric_element_block has been renamed to double_element_block.

  * added new block type to store float element values.

* general

  * added gdb pretty printers that prints the contents of the data structures.
   2020-01-12 21:20:50 by Ryo ONODERA | Files touched by this commit (574)
Log message:
*: Recursive revbump from devel/boost-libs
   2019-08-22 14:23:56 by Ryo ONODERA | Files touched by this commit (678)
Log message:
Recursive revbump from boost-1.71.0
   2019-07-01 06:08:55 by Ryo ONODERA | Files touched by this commit (669)
Log message:
Recursive revbump from boost-1.70.0
   2019-02-19 16:45:30 by Ryo ONODERA | Files touched by this commit (4) | Package updated
Log message:
Update to 1.4.3

Changelog:
mdds 1.4.3

* documentation

  * added details on how to use two type of iterators with
    flat_segment_tree.

  * added new section to describe how to use mtv::collection to iterate
    through multiple multi_type_vector instances as a single collection
    in the direction orthogonal to the direction of the individual
    vectors.

  * added new page for R-tree.

* flat_segment_tree

  * fixed invalid memory access issue related to the swap() method which
    previously did not swap the non-leaf node pool store.  The invalid
    memory access may occur after the contents of two instances get
    swapped, one instance get destroyed then the caller calls
    search_tree() on the other instance still alive.

mdds 1.4.2

* all

  * fixed CXXFLAGS incorrectly being overwritten.

  * addressed a number of Coverity issues.

mdds 1.4.1

* all

  * fixed all warnings on shadowed variables.

* multi_type_matrix

  * all of its walk() methods now return either a copied or moved
    instance of the function object passed in as an input argument.
    Previously these methods had no return values.

mdds 1.4.0

* rtree (new)

  * new data structure designed for optimal storage and query
    performance on multi-dimensional spatial data.  The structure allows
    storage of both point and extent-based boundaries as keys associated
    with values.

* multi_type_vector

  * mtv::elemnt_block now has the following methods: data(), cbegin(),
    cend(), crbegin() and crend().

  * multi_type_vector now has cbegin(), cend(), crbegin(), and crend()
    methods.

  * some unnecessary user-provided special members have been removed to
    avoid warnings with -Wdeprecated-copy with GCC 9.

* multi_type_matrix

  * all of its walk() methods now allow in-line lambdas to be used, by
    not taking a reference of the function object parameters.

mdds 1.3.1

* flat_segment_tree

  * fixed a bug that caused an assertion error when inserting a
    out-of-bound segment whose start value equals the max key value.

mdds 1.3.0

* multi_type_vector

  * changed the primary block array storage to remove additional
    indirection, for improved memory locality.

mdds 1.2.3

* all

  * changed the configure script to use --docdir unmodified.

* flat_segment_tree

  * added a segment iterator whose node value consists of the start
    and end keys and the value associated with each segment.  its
    start and end positions can be retrieved via begin_segment() and
    end_segment() methods.

mdds 1.2.2

* flat_segment_tree

  * fixed a bug that would cause segmentation faults with the insert()
    method with out-of-bound segment value pair.

mdds 1.2.1

* multi_type_vector

  * added size() method to the element block type, which returns the
    actual size of the element block, instead of the cached size value
    stored in the parent structure that stores the element block.

  * fixed a double-deletion bug in the swap() method which would
    triggered when used with a managed element block.

* mtv::collection

  * fixed collection iterator's get() method to properly return values
    from the boolean element block.

mdds 1.2.0

* packed_trie_map

  * added begin() and end() methods that return read-only iterators.

  * find() method now returns a const_iterator instance.

  * prefix_search() method now returns a search_results instance that
    can be iterated.

  * null value no longer needs to be passed to the constructor.

  * find() and prefix_search() now have a variant that can take a key
    value that is of key_type directly.

* trie_map

  * added begin() and end() methods that return read-only iterators.

  * find() method now returns a const_iterator instance.

  * prefix_search() method now returns a search_results instance that
    can be iterated.

  * null value no longer needs to be passed to the constructor.

  * find(), insert, and prefix_search() now have a variant that can
    take a key value that is of key_type directly.

* sorted_string_map

  * fix build failure with _GLIBCXX_DEBUG defined.

* multi_type_vector

  * remove compiler warning about shadowed variable.

  * added a supplemental class mdds::mtv::collection which allows
    multiple multi_type_vector instances of the same length to be
    grouped together in order to iterate through their elements
    sideways.

  * a variant of advance_position() static method that takes
    const_position_type has been added.

    * const_position_type advance_position(const const_position_type& pos, \ 
int steps)

* multi_type_matrix

  * matrix_position() is now a const method.

  * the sub-matrix variant of walk() method now throws size_error
    exception when invalid start and end positions are passed.

  * slight performance improvement with the sub-matrix variant of
    walk() method that involves multiple column traversal.

  * added 2 new variants of walk() methods that allow parallel walking
    with another matrix instance.

    * template<typename _Func>
      void walk(_Func& func, const multi_type_matrix& right) const

    * template<typename _Func>
      void walk(_Func& func, const multi_type_matrix& right, const \ 
size_pair_type& start, const size_pair_type& end) const

  * improved performance of copy() and resize() methods.

  * added a variant of copy() that takes an array of values.

    * template<typename _T>
      void copy(size_type rows, size_type cols, const _T& it_begin, const \ 
_T& it_end)

  * integer type has been added to the list of types the matrix can
    store.  In conjunction with this change, what was formerly known
    as the string trait structure is now known as the matrix trait,
    which specifies the actual integer type the matrix stores.

* point_quad_tree

  * search_result has been renamed to search_results.
   2018-12-13 20:52:27 by Adam Ciarcinski | Files touched by this commit (668)
Log message:
revbump for boost 1.69.0
   2018-08-16 20:55:17 by Adam Ciarcinski | Files touched by this commit (653) | Package updated
Log message:
revbump after boost-libs update