forked from JGRennison/cpp-btree
-
Notifications
You must be signed in to change notification settings - Fork 0
Clone of Google's cpp-btree B-tree set and map containers, with minor fixes/modifications.
License
usefulcat/cpp-btree
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This library is a C++ template library and, as such, there is no library to build and install. Copy the .h files and use them! See http://code.google.com/p/cpp-btree/wiki/UsageInstructions for details. ---- To build and run the provided tests, however, you will need to install CMake, the Google C++ Test framework, and the Google flags package. Download and install CMake from http://www.cmake.org Download and build the GoogleTest framework from http://code.google.com/p/googletest Download and install gflags from https://code.google.com/p/gflags Set GTEST_ROOT to the directory where GTEST was built. Set GFLAGS_ROOT to the directory prefix where GFLAGS is installed. export GTEST_ROOT=/path/for/gtest-x.y export GFLAGS_ROOT=/opt cmake . -Dbuild_tests=ON For example, to build on a Unix system with the clang++ compiler, export GTEST_ROOT=$(HOME)/src/googletest export GFLAGS_ROOT=/opt cmake . -G "Unix Makefiles" -Dbuild_tests=ON -DCMAKE_CXX_COMPILER=clang++ ---- Note that this is a modified version of the original at http://code.google.com/p/cpp-btree Changes include: - Change size_type from ssize_t to size_t, remove remaining uses of ssize_t. - Add cbegin, cend, crbegin, crend. - Add contains. - Add key_comp. - Add move constructors/assignment. - No longer #define NDEBUG if unset, this can clash with other headers, test for BTREE_DEBUG being defined instead. - Add noexcept to swap-based move constructors and copy/move assignment operator. - Remove use of deprecated std::allocator::rebind type. - Add support for uncopyable/move-only map/multimap values (not keys). - Remove requirement that key/value types are default-constructible. - Fix ambiguous comparison operator warnings/errors when compiling with C++20. - Use union to avoid strict aliasing violation in struct leaf_fields. - Do not include IO stream headers or support dumping/operator<< if BTREE_NO_IOSTREAM is defined. - Fix formatting of benchmark results. CMakeLists-pthreads-fix.txt is a modified copy of CMakeLists.txt which includes -lpthreads when building the tests/benchmarks. Using this instead fixes compilation on some platforms.
About
Clone of Google's cpp-btree B-tree set and map containers, with minor fixes/modifications.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 99.2%
- CMake 0.8%