ROOT
v6-26
Reference Guide
Loading...
Searching...
No Matches
RColumnModel.hxx
Go to the documentation of this file.
1
/// \file ROOT/RColumnModel.hxx
2
/// \ingroup NTuple ROOT7
3
/// \author Jakob Blomer <jblomer@cern.ch>
4
/// \date 2018-10-09
5
/// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
6
/// is welcome!
7
8
/*************************************************************************
9
* Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
10
* All rights reserved. *
11
* *
12
* For the licensing terms see $ROOTSYS/LICENSE. *
13
* For the list of contributors see $ROOTSYS/README/CREDITS. *
14
*************************************************************************/
15
16
#ifndef ROOT7_RColumnModel
17
#define ROOT7_RColumnModel
18
19
#include <
ROOT/RStringView.hxx
>
20
21
#include <string>
22
23
namespace
ROOT
{
24
namespace
Experimental {
25
26
// clang-format off
27
/**
28
\class ROOT::Experimental::EColumnType
29
\ingroup NTuple
30
\brief The available trivial, native content types of a column
31
32
More complex types, such as classes, get translated into columns of such simple types by the RField.
33
New types need to be accounted for in RColumnElementBase::Generate() and RColumnElementBase::GetBitsOnStorage(), too.
34
*/
35
// clang-format on
36
enum class
EColumnType
{
37
kUnknown
= 0,
38
// type for root columns of (nested) collections; 32bit integers that count relative to the current cluster
39
kIndex
,
40
// 64 bit column that uses the lower 32bits as kIndex and the higher 32bits as a dispatch tag; used, e.g.,
41
// in order to serialize std::variant
42
kSwitch
,
43
kByte
,
44
kChar
,
45
kBit
,
46
kReal64
,
47
kReal32
,
48
kReal16
,
49
kInt64
,
50
kInt32
,
51
kInt16
,
52
kInt8
,
53
kMax
,
54
};
55
56
// clang-format off
57
/**
58
\class ROOT::Experimental::RColumnModel
59
\ingroup NTuple
60
\brief Holds the static meta-data of a column in a tree
61
*/
62
// clang-format on
63
class
RColumnModel
{
64
private
:
65
EColumnType
fType
;
66
bool
fIsSorted
;
67
68
public
:
69
RColumnModel
() :
fType
(
EColumnType
::
kUnknown
),
fIsSorted
(false) {}
70
RColumnModel
(
EColumnType
type
,
bool
isSorted) :
fType
(
type
),
fIsSorted
(isSorted) {}
71
72
EColumnType
GetType
()
const
{
return
fType
; }
73
bool
GetIsSorted
()
const
{
return
fIsSorted
; }
74
75
bool
operator ==
(
const
RColumnModel
&other)
const
{
76
return
(
fType
== other.
fType
) && (
fIsSorted
== other.
fIsSorted
);
77
}
78
};
79
80
}
// namespace Experimental
81
}
// namespace ROOT
82
83
#endif
RStringView.hxx
type
int type
Definition
TGX11.cxx:121
ROOT::Experimental::RColumnModel
Holds the static meta-data of a column in a tree.
Definition
RColumnModel.hxx:63
ROOT::Experimental::RColumnModel::GetIsSorted
bool GetIsSorted() const
Definition
RColumnModel.hxx:73
ROOT::Experimental::RColumnModel::fType
EColumnType fType
Definition
RColumnModel.hxx:65
ROOT::Experimental::RColumnModel::RColumnModel
RColumnModel(EColumnType type, bool isSorted)
Definition
RColumnModel.hxx:70
ROOT::Experimental::RColumnModel::fIsSorted
bool fIsSorted
Definition
RColumnModel.hxx:66
ROOT::Experimental::RColumnModel::GetType
EColumnType GetType() const
Definition
RColumnModel.hxx:72
ROOT::Experimental::RColumnModel::RColumnModel
RColumnModel()
Definition
RColumnModel.hxx:69
ROOT::Experimental::RColumnModel::operator==
bool operator==(const RColumnModel &other) const
Definition
RColumnModel.hxx:75
ROOT::Experimental::EColumnType
EColumnType
Definition
RColumnModel.hxx:36
ROOT::Experimental::EColumnType::kByte
@ kByte
ROOT::Experimental::EColumnType::kInt32
@ kInt32
ROOT::Experimental::EColumnType::kInt64
@ kInt64
ROOT::Experimental::EColumnType::kUnknown
@ kUnknown
ROOT::Experimental::EColumnType::kBit
@ kBit
ROOT::Experimental::EColumnType::kReal64
@ kReal64
ROOT::Experimental::EColumnType::kReal16
@ kReal16
ROOT::Experimental::EColumnType::kInt16
@ kInt16
ROOT::Experimental::EColumnType::kMax
@ kMax
ROOT::Experimental::EColumnType::kIndex
@ kIndex
ROOT::Experimental::EColumnType::kSwitch
@ kSwitch
ROOT::Experimental::EColumnType::kReal32
@ kReal32
ROOT::Experimental::EColumnType::kInt8
@ kInt8
ROOT::Experimental::EColumnType::kChar
@ kChar
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition
EExecutionPolicy.hxx:4
tree
ntuple
v7
inc
ROOT
RColumnModel.hxx
ROOT v6-26 - Reference Guide Generated on Mon Sep 11 2023 21:02:58 (GVA Time) using Doxygen 1.9.8