ROOT
v6-22
Reference Guide
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
*/
34
// clang-format on
35
enum class
EColumnType
{
36
kUnknown
= 0,
37
// type for root columns of (nested) collections; 32bit integers that count relative to the current cluster
38
kIndex
,
39
// 64 bit column that uses the lower 32bits as kIndex and the higher 32bits as a dispatch tag; used, e.g.,
40
// in order to serialize std::variant
41
kSwitch
,
42
kByte
,
43
kBit
,
44
kReal64
,
45
kReal32
,
46
kReal16
,
47
kReal8
,
48
kInt64
,
49
kInt32
,
50
kInt16
,
51
};
52
53
// clang-format off
54
/**
55
\class ROOT::Experimental::RColumnModel
56
\ingroup NTuple
57
\brief Holds the static meta-data of a column in a tree
58
*/
59
// clang-format on
60
class
RColumnModel
{
61
private
:
62
EColumnType
fType
;
63
bool
fIsSorted
;
64
65
public
:
66
RColumnModel
() :
fType
(
EColumnType
::
kUnknown
),
fIsSorted
(false) {}
67
RColumnModel
(
EColumnType
type
,
bool
isSorted) :
fType
(
type
),
fIsSorted
(isSorted) {}
68
69
EColumnType
GetType
()
const
{
return
fType
; }
70
bool
GetIsSorted
()
const
{
return
fIsSorted
; }
71
72
bool
operator ==
(
const
RColumnModel
&other)
const
{
73
return
(
fType
== other.
fType
) && (
fIsSorted
== other.
fIsSorted
);
74
}
75
};
76
77
}
// namespace Experimental
78
}
// namespace ROOT
79
80
#endif
RStringView.hxx
type
int type
Definition:
TGX11.cxx:120
kUnknown
@ kUnknown
Definition:
TStructNode.h:19
ROOT::Experimental::RColumnModel
Holds the static meta-data of a column in a tree.
Definition:
RColumnModel.hxx:60
ROOT::Experimental::RColumnModel::GetIsSorted
bool GetIsSorted() const
Definition:
RColumnModel.hxx:70
ROOT::Experimental::RColumnModel::fType
EColumnType fType
Definition:
RColumnModel.hxx:62
ROOT::Experimental::RColumnModel::RColumnModel
RColumnModel(EColumnType type, bool isSorted)
Definition:
RColumnModel.hxx:67
ROOT::Experimental::RColumnModel::fIsSorted
bool fIsSorted
Definition:
RColumnModel.hxx:63
ROOT::Experimental::RColumnModel::GetType
EColumnType GetType() const
Definition:
RColumnModel.hxx:69
ROOT::Experimental::RColumnModel::RColumnModel
RColumnModel()
Definition:
RColumnModel.hxx:66
ROOT::Experimental::RColumnModel::operator==
bool operator==(const RColumnModel &other) const
Definition:
RColumnModel.hxx:72
ROOT::Experimental::EColumnType
EColumnType
Definition:
RColumnModel.hxx:35
ROOT::Experimental::EColumnType::kByte
@ kByte
ROOT::Experimental::EColumnType::kInt32
@ kInt32
ROOT::Experimental::EColumnType::kInt64
@ kInt64
ROOT::Experimental::EColumnType::kBit
@ kBit
ROOT::Experimental::EColumnType::kReal64
@ kReal64
ROOT::Experimental::EColumnType::kReal16
@ kReal16
ROOT::Experimental::EColumnType::kInt16
@ kInt16
ROOT::Experimental::EColumnType::kIndex
@ kIndex
ROOT::Experimental::EColumnType::kReal8
@ kReal8
ROOT::Experimental::EColumnType::kSwitch
@ kSwitch
ROOT::Experimental::EColumnType::kReal32
@ kReal32
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition:
StringConv.hxx:21
tree
ntuple
v7
inc
ROOT
RColumnModel.hxx
ROOT v6-22 - Reference Guide Generated on Fri Apr 1 2022 11:53:08 (GVA Time) using Doxygen 1.9.4