summaryrefslogtreecommitdiff
path: root/devel/mdds/distinfo
AgeCommit message (Collapse)AuthorFilesLines
2015-08-12Update to 0.12.1ryoon1-4/+11
* 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.
2015-02-27Update to 0.12.0. Use proper master site.wiz1-5/+4
libreoffice4 still builds with this version. Changes: The highlight of this release is mostly with the segment_tree data structure, where its value type previously only supported pointer types. Markus Mohrhard worked on removing that constraint from segment_tree so that you can now store values of arbitrary types just like you would expect from a template container. Aside from that, there are some minor bug and build fixes. Users of the previous versions are encouraged to update to this version.
2015-02-04Update to 0.11.2ryoon1-4/+5
* Fix newer boost build. Changelog: mdds 0.11.2 * multi_type_vector * fixed various memory leaks associated with the set() method when a value overwrites an existing element in a managed block. mdds 0.11.1 * all * fixed a large number of outstanding defects reported by Coverity Scan. * multi_type_vector * fixed 2 cases of double-free bug in the variant of swap() that allows segmented swapping. mdds 0.11.0 * sorted_string_map (new) * new data structure to support efficient mapping of textural keys to numeric values when the key values are known at compile time. * multi_type_vector * fixed a bug in transfer() where two adjacent blocks of identical type would fail to be merged in some circumstances. * added shrink_to_fit() to allow trimming of any excess capacity from all non-empty blocks. * fixed a double-free bug in the variant of swap() that allows segmented swapping. * improved the exception message when the block position lookup fails to find valid block position, to make it easier to debug.
2014-07-02Update to 0.10.3ryoon1-4/+4
Changelog: mdds 0.10.3 * multi_type_vector * added 2 variants of release_range() that take start and end positions, to allow releasing of elements in specified interval. One of the variants takes iterator as a block position hint. * iterator release_range(size_type start_pos, size_type end_pos) * iterator release_range(const iterator& pos_hint, size_type start_pos, size_type end_pos) * added push_back() and push_back_empty(), to allow efficient way to append new values to the end of the container. * template<typename _T> iterator push_back(const _T& value) * iterator push_back_empty()
2014-02-25Update to 0.10.2ryoon1-4/+4
Changelog: mdds 0.10.2 * multi_type_vector * fixed a bug in transfer() that would trigger an assertion and eventually lead to a crash. The problem occurred when a range of data to be transferred spanned over 2 blocks and consisted of the lower part of an upper block and the upper part of a lower block.
2014-02-02Update to 0.10.1ryoon1-4/+4
* Install more header files. * Tweak Makefile Changelog: * multi_type_matrix * added a variant of set_empty() that takes an additional length parameter. * void set_empty(size_type row, size_type col, size_type length) mdds 0.10.0 * flat_segment_tree * significant performance improvement on build_tree() and search_tree(), by optimizing the non-leaf node object generation and storage to achieve better locality of reference. * segment_tree * slight performance improvement on build_tree(), as a result of the optimization done for flat_segment_tree since these two structures share the same tree generation code. * multi_type_vector * improved debug message on mis-matched block types (only when MDDS_MULTI_TYPE_VECTOR_DEBUG is defined). mdds 0.9.1 * multi_type_vector * added several convenience methods for position objects. * performance improvement on setting array values. * added new constructor that takes an array of values as initial element values. * multi_type_matrix * setter methods that take a position object to also return a position object. * added several convenience methods for position objects. * added new constructor that takes an array of values as initial element values.
2013-08-22Updated package to its latest version, 0.9.0. Changes (apart from bugfixes)jaapb1-4/+4
include: * all * added .pc file for pkg-config. * multi_type_vector * added another block function template to make it easier to declare container with 3 custom element types. * added two variants of release(): * template<typename _T> iterator release(size_type pos, _T& value) * template<typename _T> iterator release(const iterator& pos_hint, size_type pos, _T& value) * added a variant of release() that takes no arguments. This one releases all elements and makes the container empty afterward. * added a new variant of position() that takes const_iterator as position hint. * std::pair<const_iterator, size_type> position(const const_iterator& pos_hint, size_type pos) const * added compile-time macro MDDS_MULTI_TYPE_VECTOR_USE_DEQUE to allow users to specify std::deque as the underlying data array. By default, multi_type_vector uses std::vector as the underlying data array container. * added a new variant of swap() that allows partial swapping of content with another container. * added static block type identifier so that the numeric block type ID can be deduced from the block type directly. * value_type (which is a type of object returned when dereferencing an iterator) now stores 'position' which is the logical position of the first element of a block. * added position_type and const_position_type which are typedefs to the return types of position() methods. * added char and unsigned char types to the standard types supported by default. * added position() member method that takes a logical element position and returns a pair of block iterator where the element resides and its offset within that block. * added at() static member method to the data block, which calls the at() method of the underlying std::vector container. * added release() member method to allow caller to release an object stored inside a managed block. * added two templates to ease creation of custom element block functions when using one or two custom element types. * added transfer() member method to allow elements in a specified range to be transferred from one container to another. When transferring elements stored in a managed element block, the ownership of those elements is also transferred. * add variants of set() methods (both single- and multi-value) insert(), set_empty() and insert_empty() methods that take an iterator as an additional position hint parameter for block lookup speed optimization. * add support for non-const iterators which allow the client code to modify values directly from the iterators. * set() methods (both single- and multi-parameter variants), set_empty(), insert() and insert_empty() methods now return iterator that references the block to which the values are set or inserted. * multi_type_matrix: * get_numeric(), get_boolean(), and get_string() are made more efficient. * added position() method that returns a reference object to an element (position object). * added variants of get_numeric(), get_boolean() and get_string() that retrieves elements from position objects. * added variants of set() that sets new element values via position objects. * add a variant of the position() method that takes an iterator as positional hint. Note that there is no variant of position() that takes const_iterator. * flat_segment_tree * changed the return type of search_tree from bool to std::pair<const_iterator,bool>, to make it consistent with the search() method. Note that this is an API-incompatible change.
2012-10-02Update to 0.6.1:wiz1-5/+4
This is purely a bug fix release, and contain no new functionality since 0.6.0. This release fixes a bug in the iterator implementation of flat_segment_tree. Prior to this release, the iterator would treat the position immediately before the end position to be the end position, which would result in incorrectly skipping the last data position during iteration. This release contains a fix for that bug. It also contains fixes for various build errors and compiler warnings. Many thanks to David Tardon, Stephan Bergmann, Tomáš Chvátal, and Markus Mohrhard for having submitted patches since the release of 0.6.0.
2012-08-15Fix libreoffice runtime error using upstream patch, via ftigeot.wiz1-1/+2
Bump PKGREVISION.
2012-07-29Update to 0.6.0:wiz1-4/+4
mdds 0.6.0 * all * added MSVS Solution file, to make it easier to build unit test programs on Windows. * mixed_type_matrix * improved performance of size() method by caching it. * multi_type_vector (new) * new data structure to support efficient storage of data of different types. * multi_type_matrix (new) * new data structure to eventually replace mixed_type_matrix. It uses multi_type_vector as its backend storage.
2012-03-12Update to 0.5.4:wiz1-4/+4
mdds 0.5.4 * segment_tree * fixed build breakage, to allow it to be buildable when UNIT_TEST is not defined. * fixed a crasher with MSVC when comparing iterators of empty search_result instances. * point_quad_tree * fixed a bug where de-referencing copied search_result iterators would return an uninitialized node data.
2011-08-06Update to 0.5.3:wiz1-4/+4
mdds 0.5.3 * mixed_type_matrix * re-implemented the filled storage for better performance, with two separate implementations for zero and emtpy matrix types. The newer implementation should improve object creation time considerably.
2011-04-05Update to 0.5.2:wiz1-4/+4
mdds 0.5.2 * flat_segment_tree * fixed a crash on assignment by properly implementing assignment operator(). * fixed several bugs in shift_right(): * shifting of all existing nodes was not handled properly. * leaf nodes were not properly linked under certain conditions. * shifting with skip node option was not properly skipping the node at insertion position when the insertion position was at the leftmost node. * implemented min_key(), max_key(), default_value(), clear() and swap(). * fixed a bug in operator==() where two different containers were incorrectly evaluated to be equal. * added quickcheck test code.
2011-02-28Initial import of mdds-0.5.1:wiz1-0/+5
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