ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
pool::RNTupleContainer::FieldDesc Struct Reference

Definition of a field info structure. More...

Inheritance diagram for pool::RNTupleContainer::FieldDesc:
Collaboration diagram for pool::RNTupleContainer::FieldDesc:

Public Types

enum  Options {
  PRIMARY_KEY = 1 << 0, NOT_NULL = 1 << 1, UNIQUE = 1 << 2, CLUSTERED = 1 << 3,
  NONCLUSTERED = 1 << 4
}
 
enum  Type {
  UNKNOWN = 0, UCHAR, USHORT, UINT,
  ULONG, CHAR, SHORT, INT,
  LONG, BOOL, FLOAT, DOUBLE,
  STRING, NTCHAR, LONG_STRING, LONG_NTCHAR,
  OBJECT_REF, CONTAINED_REF, TOKEN, BLOB,
  ANY, POINTER, LONGLONG, ULONGLONG,
  NATIVE_TYPES = 1000
}
 

Public Member Functions

 FieldDesc (const DbColumn &c)
 
 FieldDesc (FieldDesc const &other)=delete
 
 FieldDesc (FieldDesc &&other)=default
 
 ~FieldDesc ()=default
 
FieldDescoperator= (FieldDesc const &other)=delete
 
FieldDescoperator= (FieldDesc &&other)=default
 
const std::string typeName ()
 
bool hasAuxStore ()
 
SG::IAuxStoreIOgetIOStorePtr ()
 
bool isValid () const
 Is it a valid (known) data type ? More...
 
const std::string & name () const
 Access to column name. More...
 
const std::string & typeName () const
 Access to OS independent type name. More...
 
int options () const
 Access to options. More...
 
int offset () const
 Offset of column from this pointer. More...
 
int size () const
 Size of a single object within the column. More...
 
int nElement () const
 Number of elements. More...
 
int typeID () const
 Integer type identifier. More...
 
const std::string toString () const
 Create string representation of the type information object. More...
 
DbStatus fromString (const std::string &string_rep)
 Load type information object from string representation. More...
 

Static Public Member Functions

static const std::string typeName (int typ)
 Access type name by type identifier from RTTI. More...
 

Public Attributes

std::string fieldname
 
std::optional< RNTupleView< void > > view
 
std::string sgkey
 
TClass * clazz = nullptr
 
void * object = nullptr
 
std::string str
 
size_t rows_written = 0
 
int aux_iostore_IFoffset = -1
 IOStore interface offset for object type in this branch (for casting) More...
 
std::unique_ptr< RootAuxDynIO::IRootAuxDynReaderauxdyn_reader
 
std::unique_ptr< RootAuxDynIO::IRNTupleAuxDynWriterauxdyn_writer
 

Private Attributes

std::string m_typeName
 OS independent type name. More...
 
std::string m_colName
 Column name. More...
 
int m_offset
 Offset from object pointer. More...
 
int m_nElem
 For fixed size arrays: number of object elements. More...
 
int m_opts
 Column options. More...
 
int m_size
 Object size. More...
 
int m_type
 Storage Type identifier. More...
 

Detailed Description

Definition of a field info structure.

Definition at line 52 of file RNTupleContainer.h.

Member Enumeration Documentation

◆ Options

enum pool::DbColumn::Options
inherited
Enumerator
PRIMARY_KEY 
NOT_NULL 
UNIQUE 
CLUSTERED 
NONCLUSTERED 

Definition at line 37 of file DbColumn.h.

37  {PRIMARY_KEY = 1 << 0,
38  NOT_NULL = 1 << 1,
39  UNIQUE = 1 << 2,
40  CLUSTERED = 1 << 3,
41  NONCLUSTERED= 1 << 4
42  };

◆ Type

enum pool::DbColumn::Type
inherited
Enumerator
UNKNOWN 
UCHAR 
USHORT 
UINT 
ULONG 
CHAR 
SHORT 
INT 
LONG 
BOOL 
FLOAT 
DOUBLE 
STRING 
NTCHAR 
LONG_STRING 
LONG_NTCHAR 
OBJECT_REF 
CONTAINED_REF 
TOKEN 
BLOB 
ANY 
POINTER 
LONGLONG 
ULONGLONG 
NATIVE_TYPES 

Definition at line 44 of file DbColumn.h.

44  {
45  UNKNOWN = 0,
47  CHAR, SHORT, INT, LONG,
48  BOOL, FLOAT, DOUBLE,
52  NATIVE_TYPES = 1000
53  };

Constructor & Destructor Documentation

◆ FieldDesc() [1/3]

pool::RNTupleContainer::FieldDesc::FieldDesc ( const DbColumn c)

◆ FieldDesc() [2/3]

pool::RNTupleContainer::FieldDesc::FieldDesc ( FieldDesc const other)
delete

◆ FieldDesc() [3/3]

pool::RNTupleContainer::FieldDesc::FieldDesc ( FieldDesc &&  other)
default

◆ ~FieldDesc()

pool::RNTupleContainer::FieldDesc::~FieldDesc ( )
default

Member Function Documentation

◆ fromString()

DbStatus pool::DbColumn::fromString ( const std::string &  string_rep)
inherited

Load type information object from string representation.

◆ getIOStorePtr()

SG::IAuxStoreIO* pool::RNTupleContainer::FieldDesc::getIOStorePtr ( )
inline

Definition at line 90 of file RNTupleContainer.h.

90  {
91  return (aux_iostore_IFoffset >= 0
92  ? reinterpret_cast<SG::IAuxStoreIO*>((char*)object +
94  : nullptr);
95  }

◆ hasAuxStore()

bool pool::RNTupleContainer::FieldDesc::hasAuxStore ( )
inline

Definition at line 89 of file RNTupleContainer.h.

89 { return aux_iostore_IFoffset >= 0; }

◆ isValid()

bool pool::DbColumn::isValid ( ) const
inlineinherited

Is it a valid (known) data type ?

Definition at line 98 of file DbColumn.h.

98 { return m_typeName.length()>0;}

◆ name()

const std::string& pool::DbColumn::name ( ) const
inlineinherited

Access to column name.

Definition at line 100 of file DbColumn.h.

100 { return m_colName; }

◆ nElement()

int pool::DbColumn::nElement ( ) const
inlineinherited

Number of elements.

Definition at line 110 of file DbColumn.h.

110 { return m_nElem; }

◆ offset()

int pool::DbColumn::offset ( ) const
inlineinherited

Offset of column from this pointer.

Definition at line 106 of file DbColumn.h.

106 { return m_offset; }

◆ operator=() [1/2]

FieldDesc& pool::RNTupleContainer::FieldDesc::operator= ( FieldDesc &&  other)
default

◆ operator=() [2/2]

FieldDesc& pool::RNTupleContainer::FieldDesc::operator= ( FieldDesc const other)
delete

◆ options()

int pool::DbColumn::options ( ) const
inlineinherited

Access to options.

Definition at line 104 of file DbColumn.h.

104 { return m_opts; }

◆ size()

int pool::DbColumn::size ( ) const
inlineinherited

Size of a single object within the column.

Definition at line 108 of file DbColumn.h.

108 { return m_size; }

◆ toString()

const std::string pool::DbColumn::toString ( ) const
inherited

Create string representation of the type information object.

◆ typeID()

int pool::DbColumn::typeID ( ) const
inlineinherited

Integer type identifier.

Definition at line 112 of file DbColumn.h.

112 { return m_type; }

◆ typeName() [1/3]

const std::string pool::RNTupleContainer::FieldDesc::typeName ( )

◆ typeName() [2/3]

const std::string& pool::DbColumn::typeName ( ) const
inlineinherited

Access to OS independent type name.

Definition at line 102 of file DbColumn.h.

102 { return m_typeName; }

◆ typeName() [3/3]

static const std::string pool::DbColumn::typeName ( int  typ)
staticinherited

Access type name by type identifier from RTTI.

Member Data Documentation

◆ aux_iostore_IFoffset

int pool::RNTupleContainer::FieldDesc::aux_iostore_IFoffset = -1

IOStore interface offset for object type in this branch (for casting)

Definition at line 72 of file RNTupleContainer.h.

◆ auxdyn_reader

std::unique_ptr<RootAuxDynIO::IRootAuxDynReader> pool::RNTupleContainer::FieldDesc::auxdyn_reader

Definition at line 75 of file RNTupleContainer.h.

◆ auxdyn_writer

std::unique_ptr<RootAuxDynIO::IRNTupleAuxDynWriter> pool::RNTupleContainer::FieldDesc::auxdyn_writer

Definition at line 78 of file RNTupleContainer.h.

◆ clazz

TClass* pool::RNTupleContainer::FieldDesc::clazz = nullptr

Definition at line 61 of file RNTupleContainer.h.

◆ fieldname

std::string pool::RNTupleContainer::FieldDesc::fieldname

Definition at line 54 of file RNTupleContainer.h.

◆ m_colName

std::string pool::DbColumn::m_colName
privateinherited

Column name.

Definition at line 59 of file DbColumn.h.

◆ m_nElem

int pool::DbColumn::m_nElem
privateinherited

For fixed size arrays: number of object elements.

Definition at line 63 of file DbColumn.h.

◆ m_offset

int pool::DbColumn::m_offset
privateinherited

Offset from object pointer.

Definition at line 61 of file DbColumn.h.

◆ m_opts

int pool::DbColumn::m_opts
privateinherited

Column options.

Definition at line 65 of file DbColumn.h.

◆ m_size

int pool::DbColumn::m_size
privateinherited

Object size.

Definition at line 67 of file DbColumn.h.

◆ m_type

int pool::DbColumn::m_type
privateinherited

Storage Type identifier.

Definition at line 69 of file DbColumn.h.

◆ m_typeName

std::string pool::DbColumn::m_typeName
privateinherited

OS independent type name.

Definition at line 57 of file DbColumn.h.

◆ object

void* pool::RNTupleContainer::FieldDesc::object = nullptr

Definition at line 62 of file RNTupleContainer.h.

◆ rows_written

size_t pool::RNTupleContainer::FieldDesc::rows_written = 0

Definition at line 69 of file RNTupleContainer.h.

◆ sgkey

std::string pool::RNTupleContainer::FieldDesc::sgkey

Definition at line 60 of file RNTupleContainer.h.

◆ str

std::string pool::RNTupleContainer::FieldDesc::str

Definition at line 65 of file RNTupleContainer.h.

◆ view

std::optional< RNTupleView<void> > pool::RNTupleContainer::FieldDesc::view

Definition at line 56 of file RNTupleContainer.h.


The documentation for this struct was generated from the following file:
pool::DbColumn::UCHAR
@ UCHAR
Definition: DbColumn.h:46
pool::RNTupleContainer::FieldDesc::aux_iostore_IFoffset
int aux_iostore_IFoffset
IOStore interface offset for object type in this branch (for casting)
Definition: RNTupleContainer.h:72
pool::DbColumn::m_typeName
std::string m_typeName
OS independent type name.
Definition: DbColumn.h:57
pool::DbColumn::m_type
int m_type
Storage Type identifier.
Definition: DbColumn.h:69
pool::DbColumn::BLOB
@ BLOB
Definition: DbColumn.h:50
pool::DbColumn::SHORT
@ SHORT
Definition: DbColumn.h:47
pool::DbColumn::UINT
@ UINT
Definition: DbColumn.h:46
pool::DbColumn::LONG
@ LONG
Definition: DbColumn.h:47
SG::IAuxStoreIO
Interface providing I/O for a generic auxiliary store.
Definition: IAuxStoreIO.h:44
pool::DbColumn::CONTAINED_REF
@ CONTAINED_REF
Definition: DbColumn.h:50
pool::DbColumn::UNIQUE
@ UNIQUE
Definition: DbColumn.h:39
pool::DbColumn::ANY
@ ANY
Definition: DbColumn.h:51
pool::DbColumn::LONG_STRING
@ LONG_STRING
Definition: DbColumn.h:49
pool::DbColumn::m_colName
std::string m_colName
Column name.
Definition: DbColumn.h:59
pool::DbColumn::CHAR
@ CHAR
Definition: DbColumn.h:47
pool::DbColumn::NTCHAR
@ NTCHAR
Definition: DbColumn.h:49
pool::DbColumn::INT
@ INT
Definition: DbColumn.h:47
pool::DbColumn::m_size
int m_size
Object size.
Definition: DbColumn.h:67
pool::DbColumn::USHORT
@ USHORT
Definition: DbColumn.h:46
pool::DbColumn::NATIVE_TYPES
@ NATIVE_TYPES
Definition: DbColumn.h:52
pool::DbColumn::NONCLUSTERED
@ NONCLUSTERED
Definition: DbColumn.h:41
pool::DbColumn::TOKEN
@ TOKEN
Definition: DbColumn.h:50
pool::DbColumn::m_nElem
int m_nElem
For fixed size arrays: number of object elements.
Definition: DbColumn.h:63
pool::DbColumn::PRIMARY_KEY
@ PRIMARY_KEY
Definition: DbColumn.h:37
pool::DbColumn::FLOAT
@ FLOAT
Definition: DbColumn.h:48
pool::DbColumn::LONGLONG
@ LONGLONG
Definition: DbColumn.h:51
pool::DbColumn::LONG_NTCHAR
@ LONG_NTCHAR
Definition: DbColumn.h:49
pool::DbColumn::m_opts
int m_opts
Column options.
Definition: DbColumn.h:65
pool::DbColumn::ULONG
@ ULONG
Definition: DbColumn.h:46
pool::DbColumn::DOUBLE
@ DOUBLE
Definition: DbColumn.h:48
pool::DbColumn::NOT_NULL
@ NOT_NULL
Definition: DbColumn.h:38
pool::DbColumn::POINTER
@ POINTER
Definition: DbColumn.h:51
pool::DbColumn::STRING
@ STRING
Definition: DbColumn.h:49
pool::DbColumn::ULONGLONG
@ ULONGLONG
Definition: DbColumn.h:51
pool::DbColumn::CLUSTERED
@ CLUSTERED
Definition: DbColumn.h:40
pool::DbColumn::OBJECT_REF
@ OBJECT_REF
Definition: DbColumn.h:50
pool::DbColumn::UNKNOWN
@ UNKNOWN
Definition: DbColumn.h:45
pool::DbColumn::BOOL
@ BOOL
Definition: DbColumn.h:48
pool::DbColumn::m_offset
int m_offset
Offset from object pointer.
Definition: DbColumn.h:61