[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

KD-Tree library

I have written a C++ template library for KD-Trees, trying to stay
as close as possible to STL containers. The library is not (yet)
complete and it's not thoroughly tested. However, given the effort
and grief I went through in writing it, I would like to make it
available to folks, get people to test it, and hopefully have some
peeps submit improvements.


  - sports an unlimited number of dimensions (in theory)
  - can store any data structure, provided the data structure provides
    operator[0 - k-1] to access the individual dimensional
    components (arrays, std::vector already do) and a std::less
    implementation for the type of dimensional components
  - has support for custom allocators
  - implements iterators
  - provides standard find as well as range queries
  - has amortised O(lg n) time (O(n lg n) worst case) on most
    operations (insert/erase/find optimised) and worst-case O(n) space.
  - provides a means to rebalance and thus optimise the tree.
  - exists in its own namespace
  - uses STL coding style, basing a lot of the code on stl_tree.h

So the question is: should I/can I package it for Debian?

It's not yet documented, although the usage should be fairly
straight forward. I am hoping to find someone else to document it as
I suck at documentation and as the author, it's exceptionally
difficult to stay didactically correct.

It's just 6 .hpp files, so it would be a -dev package without a .so
or .a file. Other than installing the 6 .hpp files into
/usr/include/kdtree++, providing pkg-config files and a -config
binary, do I need to do anything else?

Please do not CC me when replying to lists; I read them!
 .''`.     martin f. krafft <madduck@debian.org>
: :'  :    proud Debian developer, admin, and user
`. `'`
  `-  Debian - when you have better things to do than fixing a system
Invalid/expired PGP subkeys? Use subkeys.pgp.net as keyserver!

Attachment: signature.asc
Description: Digital signature

Reply to: