Subject: CVS commit: pkgsrc/devel/mdds
From: Ryo ONODERA
Date: 2019-02-19 16:45:30
Message id: 20190219154530.B2C1CFB16@cvs.NetBSD.org

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.

Files:
RevisionActionfile
1.40modifypkgsrc/devel/mdds/Makefile
1.11modifypkgsrc/devel/mdds/PLIST
1.18modifypkgsrc/devel/mdds/distinfo
1.1addpkgsrc/devel/mdds/patches/patch-configure