Priority Deque Container Adaptor

Greetings. I have written a container adaptor implementing efficient double-ended priority queues. This preliminary submission is made to determine if/when a formal submission should be made and in the hope that it will be improved by your comments and reviews. The library (a single header file) is publicly available on mediafire: http://www.mediafire.com/download.php?gq8qjpgdoecgqq2 All files are distributed under the Boost Software License, Version 1.0. An explanation of what it does: This library replicates all functions of the STL priority_queue and adds functions for efficient access to the other end of the queue. Where the STL priority_queue uses a max-heap, I use a max-min heap (see article on Wikipedia). This leads to O(log n) complexity for single-element operations, and O(n) complexity for initialization and merging. TL;DR: Double-ended priority queue with algorithmic complexity equaling the STL single-ended priority queue. The current revision has been tested on: GCC 4.7.0 (MinGW on Windows 7 x64) Microsoft Visual C++ 2010 (on Windows 7 x64) Documentation may be generated by Doxygen. Any comments, criticisms, or compatibility information will be appreciated. I currently have one decision to make that requires experience beyond mine. Some const functions require calling operator() in a comparison class; should I make the class mutable, make a non-cost copy of the comparison class when needed, or require that operator() be a const function? So far, I have avoided the last option because it would make the class prerequisites more strict. Thanks, Nathaniel McClatchey
participants (1)
-
Nathaniel McClatchey