956a4beaec
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. |
||
---|---|---|
.. | ||
patches | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |