-
Notifications
You must be signed in to change notification settings - Fork 9
/
README
52 lines (37 loc) · 1.99 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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:
- Changing size_type from ssize_t to size_t, remove remaining uses of ssize_t
- Adding cbegin, cend, crbegin, crend.
- Adding contains.
- Adding key_comp
- Adding 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
- Adding support for uncopyable/move-only map/multimap values (not keys).
- 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.
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.