ROOT
git-r3/HEAD
Reference Guide
Loading...
Searching...
No Matches
RFieldToken.hxx
Go to the documentation of this file.
1
/// \file ROOT/RFieldToken.hxx
2
/// \author Jonas Hahnfeld <jonas.hahnfeld@cern.ch>
3
/// \date 2025-03-19
4
5
/*************************************************************************
6
* Copyright (C) 1995-2025, Rene Brun and Fons Rademakers. *
7
* All rights reserved. *
8
* *
9
* For the licensing terms see $ROOTSYS/LICENSE. *
10
* For the list of contributors see $ROOTSYS/README/CREDITS. *
11
*************************************************************************/
12
13
#ifndef ROOT_RFieldToken
14
#define ROOT_RFieldToken
15
16
#include <cstddef>
// for std::size_t
17
#include <cstdint>
// for std::uint64_t
18
19
namespace
ROOT
{
20
21
class
REntry
;
22
class
RNTupleModel
;
23
24
namespace
Detail
{
25
class
RRawPtrWriteEntry
;
26
}
// namespace Detail
27
28
// clang-format off
29
/**
30
\class ROOT::RFieldToken
31
\ingroup NTuple
32
\brief A field token identifies a (sub)field in an entry
33
34
It can be used for fast indexing in REntry's methods, e.g. REntry::BindValue(). The field token can also be created by the model.
35
*/
36
// clang-format on
37
class
RFieldToken
{
38
friend
class
REntry
;
39
friend
class
RNTupleModel
;
40
friend
class
Detail::RRawPtrWriteEntry
;
41
42
std::size_t
fIndex
= 0;
///< The index of the field (top-level or registered subfield)
43
std::uint64_t
fSchemaId
= std::uint64_t(-1);
///< Safety check to prevent tokens from other models being used
44
RFieldToken
(std::size_t index, std::uint64_t schemaId) :
fIndex
(index),
fSchemaId
(schemaId) {}
45
46
public
:
47
RFieldToken
() =
default
;
// The default constructed token cannot be used by any entry
48
};
49
50
}
// namespace ROOT
51
52
#endif
ROOT::Detail::RRawPtrWriteEntry
A container of const raw pointers, corresponding to a row in the data set.
Definition
RRawPtrWriteEntry.hxx:44
ROOT::REntry
The REntry is a collection of values in an RNTuple corresponding to a complete row in the data set.
Definition
REntry.hxx:54
ROOT::RFieldToken::RNTupleModel
friend class RNTupleModel
Definition
RFieldToken.hxx:39
ROOT::RFieldToken::RFieldToken
RFieldToken()=default
ROOT::RFieldToken::REntry
friend class REntry
Definition
RFieldToken.hxx:38
ROOT::RFieldToken::fIndex
std::size_t fIndex
The index of the field (top-level or registered subfield).
Definition
RFieldToken.hxx:42
ROOT::RFieldToken::fSchemaId
std::uint64_t fSchemaId
Safety check to prevent tokens from other models being used.
Definition
RFieldToken.hxx:43
ROOT::RFieldToken::RFieldToken
RFieldToken(std::size_t index, std::uint64_t schemaId)
Definition
RFieldToken.hxx:44
ROOT::RNTupleModel
The RNTupleModel encapulates the schema of an RNTuple.
Definition
RNTupleModel.hxx:137
ROOT::Detail
Special implementation of ROOT::RRangeCast for TCollection, including a check that the cast target ty...
Definition
TObject.h:395
ROOT
Definition
EExecutionPolicy.hxx:4
tree
ntuple
inc
ROOT
RFieldToken.hxx
ROOTgit-r3/HEAD - Reference Guide Generated on
(GVA Time) using Doxygen 1.16.1