ATLAS Offline Software
Public Types | Static Public Attributes | List of all members
columnar::ContainerId::regularCIBase< ObjectType, ContainerType > Struct Template Reference

a template that provides a base definition of container id for a regular container More...

#include <ContainerId.h>

Collaboration diagram for columnar::ContainerId::regularCIBase< ObjectType, ContainerType >:

Public Types

using xAODObjectIdType = const ObjectType
 the xAOD type to use with ObjectId More...
 
using xAODObjectRangeType = const ContainerType
 the xAOD type to use with ObjectRange More...
 
using xAODElementLinkType = ContainerType
 the xAOD type to use with ElementLink More...
 

Static Public Attributes

static constexpr bool isContainerId = true
 identify this as a container id definition More...
 
static constexpr bool regularObjectId = true
 whether to use the regular ObjectId/ObjectRange More...
 
static constexpr bool regularColumnAccessorArray = true
 whether to use a regular column accessor in array mode More...
 
static constexpr bool isMutable = false
 whether this is a non-const container More...
 
static constexpr bool perEventRange = true
 whether this can be retrieved as a range per event More...
 
static constexpr bool perEventId = false
 whether this can be retrieved as a single object per event More...
 

Detailed Description

template<typename ObjectType, typename ContainerType>
struct columnar::ContainerId::regularCIBase< ObjectType, ContainerType >

a template that provides a base definition of container id for a regular container

Essentially most container ids represent xAOD types underneath (in xAOD mode), and will as such share a lot of traits. Instead of repeating these over and over, I am instead defining them all here once, and then the individual definitions just need to derive from this and define a unique idName.

Definition at line 106 of file ContainerId.h.

Member Typedef Documentation

◆ xAODElementLinkType

template<typename ObjectType , typename ContainerType >
using columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::xAODElementLinkType = ContainerType

the xAOD type to use with ElementLink

Definition at line 133 of file ContainerId.h.

◆ xAODObjectIdType

template<typename ObjectType , typename ContainerType >
using columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::xAODObjectIdType = const ObjectType

the xAOD type to use with ObjectId

Definition at line 127 of file ContainerId.h.

◆ xAODObjectRangeType

template<typename ObjectType , typename ContainerType >
using columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::xAODObjectRangeType = const ContainerType

the xAOD type to use with ObjectRange

Definition at line 130 of file ContainerId.h.

Member Data Documentation

◆ isContainerId

template<typename ObjectType , typename ContainerType >
constexpr bool columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::isContainerId = true
staticconstexpr

identify this as a container id definition

Definition at line 109 of file ContainerId.h.

◆ isMutable

template<typename ObjectType , typename ContainerType >
constexpr bool columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::isMutable = false
staticconstexpr

whether this is a non-const container

Definition at line 118 of file ContainerId.h.

◆ perEventId

template<typename ObjectType , typename ContainerType >
constexpr bool columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::perEventId = false
staticconstexpr

whether this can be retrieved as a single object per event

Definition at line 124 of file ContainerId.h.

◆ perEventRange

template<typename ObjectType , typename ContainerType >
constexpr bool columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::perEventRange = true
staticconstexpr

whether this can be retrieved as a range per event

Definition at line 121 of file ContainerId.h.

◆ regularColumnAccessorArray

template<typename ObjectType , typename ContainerType >
constexpr bool columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::regularColumnAccessorArray = true
staticconstexpr

whether to use a regular column accessor in array mode

Definition at line 115 of file ContainerId.h.

◆ regularObjectId

template<typename ObjectType , typename ContainerType >
constexpr bool columnar::ContainerId::regularCIBase< ObjectType, ContainerType >::regularObjectId = true
staticconstexpr

whether to use the regular ObjectId/ObjectRange

Definition at line 112 of file ContainerId.h.


The documentation for this struct was generated from the following file: