Builds an index on one or several fields of an RNTuple so it can be joined onto other RNTuples.
Definition at line 36 of file RNTupleIndex.hxx.
#include <ROOT/RNTupleIndex.hxx>
◆ NTupleIndexValue_t
◆ RNTupleIndex() [1/3]
ROOT::Experimental::Internal::RNTupleIndex::RNTupleIndex |
( |
const std::vector< std::string > & |
fieldNames, |
|
|
const RPageSource & |
pageSource |
|
) |
| |
|
private |
Create an a new RNTupleIndex for the RNTuple represented by the provided page source.
- Parameters
-
[in] | fieldNames | The names of the fields to index. Only integral-type fields can be specified as index fields. |
[in] | pageSource | The page source. |
Definition at line 36 of file RNTupleIndex.cxx.
◆ RNTupleIndex() [2/3]
ROOT::Experimental::Internal::RNTupleIndex::RNTupleIndex |
( |
const RNTupleIndex & |
other | ) |
|
|
delete |
◆ RNTupleIndex() [3/3]
ROOT::Experimental::Internal::RNTupleIndex::RNTupleIndex |
( |
RNTupleIndex && |
other | ) |
|
|
delete |
◆ ~RNTupleIndex()
ROOT::Experimental::Internal::RNTupleIndex::~RNTupleIndex |
( |
| ) |
|
|
default |
◆ Build()
void ROOT::Experimental::Internal::RNTupleIndex::Build |
( |
| ) |
|
◆ Create()
Create an RNTupleIndex from an existing RNTuple.
- Parameters
-
[in] | fieldNames | The names of the fields to index. Only integral-type fields can be specified as index fields. |
[in] | pageSource | The page source. |
[in] | deferBuild | When set to true , an empty index will be created. A call to RNTupleIndex::Build is required before the index can actually be used. |
- Returns
- A pointer to the newly-created index.
Definition at line 67 of file RNTupleIndex.cxx.
◆ EnsureBuilt()
void ROOT::Experimental::Internal::RNTupleIndex::EnsureBuilt |
( |
| ) |
const |
|
private |
◆ GetAllEntryNumbers() [1/2]
const std::vector< ROOT::Experimental::NTupleSize_t > * ROOT::Experimental::Internal::RNTupleIndex::GetAllEntryNumbers |
( |
const std::vector< void * > & |
valuePtrs | ) |
const |
Get all entry numbers for the given index.
- Parameters
-
[in] | valuePtrs | A vector of pointers to the index values to look up. |
- Returns
- The entry numbers that corresponds to
valuePtrs
. When no such entry exists, an empty vector is returned.
Definition at line 126 of file RNTupleIndex.cxx.
◆ GetAllEntryNumbers() [2/2]
template<typename... Ts>
const std::vector< NTupleSize_t > * ROOT::Experimental::Internal::RNTupleIndex::GetAllEntryNumbers |
( |
Ts... |
values | ) |
const |
|
inline |
Get all entry numbers for the given index.
- See also
- GetAllEntryNumbers(std::vector<void *> valuePtrs)
Definition at line 186 of file RNTupleIndex.hxx.
◆ GetFirstEntryNumber() [1/2]
Get the first entry number containing the given index value.
- Parameters
-
[in] | valuePtrs | A vector of pointers to the index values to look up. |
- Returns
- The first entry number that corresponds to
valuePtrs
. When no such entry exists, kInvalidNTupleIndex
is returned.
Note that in case multiple entries corresponding to the provided index value exist, the first occurrence is returned. Use RNTupleIndex::GetAllEntryNumbers to get all entries.
Definition at line 117 of file RNTupleIndex.cxx.
◆ GetFirstEntryNumber() [2/2]
template<typename... Ts>
NTupleSize_t ROOT::Experimental::Internal::RNTupleIndex::GetFirstEntryNumber |
( |
Ts... |
values | ) |
const |
|
inline |
Get the entry number containing the given index value.
- See also
- GetFirstEntryNumber(std::vector<void *> valuePtrs)
Definition at line 160 of file RNTupleIndex.hxx.
◆ GetSize()
std::size_t ROOT::Experimental::Internal::RNTupleIndex::GetSize |
( |
| ) |
const |
|
inline |
Get the number of indexed values.
- Returns
- The number of indexed values.
- Note
- This does not have to correspond to the number of entries in the original RNTuple. If the original RNTuple contains duplicate index values, they are counted as one.
Definition at line 129 of file RNTupleIndex.hxx.
◆ IsBuilt()
bool ROOT::Experimental::Internal::RNTupleIndex::IsBuilt |
( |
| ) |
const |
|
inline |
Whether the index has been built (and therefore ready to be used).
- Returns
true
if the index has been built.
Only built indexes can be queried.
Definition at line 141 of file RNTupleIndex.hxx.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ fIndex
The index itself.
Maps field values (or combinations thereof in case the index is defined for multiple fields) to their respsective entry numbers.
Definition at line 71 of file RNTupleIndex.hxx.
◆ fIndexFields
std::vector<std::unique_ptr<RFieldBase> > ROOT::Experimental::Internal::RNTupleIndex::fIndexFields |
|
private |
The fields for which the index is built. Used to compute the hashes for each entry value.
Definition at line 77 of file RNTupleIndex.hxx.
◆ fIsBuilt
bool ROOT::Experimental::Internal::RNTupleIndex::fIsBuilt = false |
|
private |
◆ fPageSource
std::unique_ptr<RPageSource> ROOT::Experimental::Internal::RNTupleIndex::fPageSource |
|
private |
The documentation for this class was generated from the following files: