Commit graph

6 commits

Author SHA1 Message Date
ryoon
a23dc84be9 Update to 0.10.1
* 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.
2014-02-02 10:59:44 +00:00
ryoon
00c1cece6c Bump PKGREVISION.
* Install more header files.
2013-10-09 14:29:47 +00:00
jaapb
b6379b5294 Updated package to its latest version, 0.9.0. Changes (apart from bugfixes)
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.
2013-08-22 14:42:57 +00:00
wiz
3079ce6415 Update to 0.6.0:
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-07-29 20:02:15 +00:00
wiz
aa9e9e6459 Update to 0.5.3:
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-08-06 10:53:30 +00:00
wiz
5a3c14b041 Initial import of mdds-0.5.1:
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
2011-02-28 18:10:51 +00:00