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

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


Branch: CURRENT, Version: 2.1.1nb1, Package name: mdds-2.1.1nb1, 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


Required to run:
[devel/boost-libs]

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

Master sites:

Filesize: 671.966 KB

Version history: (Expand)


CVS history: (Expand)


   2023-12-30 22:07:30 by Zafer Aydogan | Files touched by this commit (1)
Log message:
https
   2023-12-29 19:25:02 by Adam Ciarcinski | Files touched by this commit (254)
Log message:
revbump for boost-libs
   2023-10-15 09:18:52 by Ryo ONODERA | Files touched by this commit (6)
Log message:
mdds: Update to 2.1.1

Changelog:
2.1.1
flat_segment_tree
  * added a method that returns a segment range object compatible with
    ranged for loop.
  * added a move constructor and a move assignment operator.
  * added variants of search() and search_tree() that return a result data
    structure that contains the value, the start and end keys of the range.
multi_type_vector
  * added a range adaptor for mdds::mtv::element_block compatible with
    ranged for loop.

2.1.0
general
  * switched to using ax_valgrind_check for running memory tests. This
    introduces additional build targets, such as check-valgrind to run
    the tests under valgrind.
multi_type_vector
  * delayed_delete_vector has been introduced as the new default storage
    type for the element blocks. This storage type is optimized for use
    cases where elements get repeatedly erased from the front of the array,
    by delaying the actual deletion of the elements until much later.
    This reduces the amount of element shifting associated with the element
    deletions, which can be costly.
  * added an additional template parameter to the element block types in
    order to allow the underlying storage type to be specified per element
    type. This can be used to switch between std::vector, std::deque,
    delayed_delete_vector, or any other compatible custom container types.
sorted_string_map
  * made the entry type a template parameter to allow optionally defining
    the keys in the entry values as std::string_view.

2.0.3
general
  * defined clang-format rules, and globally applied them to all active
    source files.

multi_type_vector
  * revised the block position lookup implementation to avoid using
    the internal STL iterators. The new implementation should be able to
    handle invalid position hints more gracefully without potential process
    termination.

2.0.2
multi_type_vector
  * added optional trace function that gets called on every called public
    method.
   2023-07-19 16:53:20 by Nia Alarie | Files touched by this commit (2)
Log message:
mdds: Require a C++17 compiler, as the configure script does.
   2023-04-23 16:26:33 by Adam Ciarcinski | Files touched by this commit (271)
Log message:
revbump for boost
   2023-01-22 17:28:39 by Ryo ONODERA | Files touched by this commit (271)
Log message:
*: Recursive revbump from Boost 1.81.0
   2022-02-05 05:00:52 by Ryo ONODERA | Files touched by this commit (5) | Package updated
Log message:
mdds: Update to 2.0.1

Changelog:
mdds 2.0.1 (not released yet)

* general

  * addressed various coverity issues.

* multi_type_vector

  * fixed random compiler warnings.

  * fixed event handling in copy construction.  In aos, the event object was
    not copied when the parent container was copied.  In soa, the
    element_block_acquired() callback was not called for the cloned element
    blocks.

  * added move constructors and move assignment operators to both aos and soa
    variants.

mdds 2.0.0

* general

  * set the baseline C++ version to C++17.

* multi_type_vector

  * implemented structure-of-arrays (SoA) storage as its default storage
    layout for better CPU cache efficiency.

  * added multiple block position adjustment implementations with various
    loop-unrolling factors combined with SSE2 and AVX2 features.

  * added a tool called runtime-env to benchmark different block position
    adjustment implementations to determine the optimal loop-unrolling factor.

* rectangle_set

  * permanently removed.

* rtree

  * fixed a bug where the memory positions of invalidated child nodes were not
    properly updated after tree mutation.  The problem manifested itself when
    using libc++ as stdlib with clang.

mdds 1.7.0

* trie_map

  * added copy and move constructors.

  * added a variant of find() method that returns a mutable iterator object.
    The user can now update the value associated with a key directly via the
    iterator object.

* packed_trie_map

  * added copy and move constructors.

  * added load_state() and save_state() methods to allow loading state from
    and saving state to binary files.
   2022-01-10 02:46:47 by Ryo ONODERA | Files touched by this commit (273)
Log message:
*: Recursive revbump from boost 1.78.0