Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
code
PMem-based Data Structures
Commits
8b23e7ec
Commit
8b23e7ec
authored
Jan 19, 2021
by
Philipp Götze
Browse files
©️
Updated copyright to 2021
parent
0a19a7bc
Pipeline
#971
canceled with stages
in 4 minutes and 37 seconds
Changes
66
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
bench/performance_test.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/pskiplists/common.hpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/pskiplists/pskip_get.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/pskiplists/pskip_insert.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/ptable/common.hpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/ptable/insert.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/ptable/point.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/ptable/scan.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/common.hpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_balance.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_erase.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_get.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_insert.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
*
this program.
If not, see <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along with
this program.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <libpmemobj++/container/array.hpp>
...
...
bench/trees/tree_merge.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_scan.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_split.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
bench/trees/tree_traverse.cpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
src/pbptrees/BPTree.hpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-2021 DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our PMem-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef BPTree_hpp_
#define BPTree_hpp_
...
...
@@ -18,14 +35,6 @@
#endif
namespace
dbis
::
pbptrees
{
/**
* An in-memory implementation of a B+ tree.
*
* @tparam KeyType the data type of the key
* @tparam ValueType the data type of the values associated with the key
* @tparam N the maximum number of keys on a branch node
* @tparam M the maximum number of keys on a leaf node
*/
template
<
typename
KeyType
,
typename
ValueType
,
int
N
,
int
M
,
int
NODE_ALIGNMENT
=
64
>
class
BPTree
{
// we need at least two keys on a branch node to be able to split
...
...
src/pbptrees/BitHPBPTree.hpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
@@ -1308,4 +1308,4 @@ class BitHPBPTree {
}
/* namespace dbis::pbptrees */
#endif
/* DBIS_BitHPBPTree_hpp_ */
\ No newline at end of file
#endif
/* DBIS_BitHPBPTree_hpp_ */
src/pbptrees/BitPBPTree.hpp
View file @
8b23e7ec
/*
* Copyright (C) 2017-202
0
DBIS Group - TU Ilmenau, All Rights Reserved.
* Copyright (C) 2017-202
1
DBIS Group - TU Ilmenau, All Rights Reserved.
*
* This file is part of our
NVM
-based Data Structures repository.
* This file is part of our
PMem
-based Data Structures repository.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
...
...
Prev
1
2
3
4
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment