ROOT
6.30.04
Reference Guide
All
Namespaces
Files
Pages
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
tree
ntuple
v7
inc
ROOT
RColumnModel.hxx
Generated on Tue May 5 2020 14:03:36 for ROOT by
1.8.5