ATLAS Offline Software
Classes | Namespaces | Typedefs | Functions | Variables
ColumnAccessor.h File Reference
#include "AthContainers/ConstAccessor.h"
#include "AthContainers/Accessor.h"
#include "AthContainers/Decorator.h"
#include <ColumnarCore/ColumnarTool.h>
#include <ColumnarCore/ObjectId.h>
#include <ColumnarCore/ObjectRange.h>
#include <ColumnarCore/ContainerId.h>
#include <ColumnarInterfaces/ColumnInfo.h>
#include <span>
#include <type_traits>
#include "ColumnAccessorXAOD.icc"
#include "ColumnAccessorArray.icc"

Go to the source code of this file.

Classes

struct  columnar::ColumnAccessModeTraits< CAM >
 
struct  columnar::ColumnAccessModeTraits< ColumnAccessMode::input >
 
struct  columnar::ColumnAccessModeTraits< ColumnAccessMode::output >
 
struct  columnar::ColumnAccessModeTraits< ColumnAccessMode::update >
 
class  columnar::AccessorTemplate< CI, CT, CAM, CM >
 the raw column accessor template class More...
 
struct  columnar::ColumnTypeTraits< CT, CM >
 a trait class to provide information about the column type More...
 
struct  columnar::NativeColumn< CT >
 a type wrapper to force AccessorTemplate to treat the type as native More...
 
struct  columnar::ColumnTypeTraits< NativeColumn< CT >, CM >
 
struct  columnar::RetypeColumn< UT, CT >
 a type wrapper to make AccessorTemplate convert the underlying column type to a different type More...
 
struct  columnar::ColumnTypeTraits< RetypeColumn< UT, CT >, CM >
 

Namespaces

 columnar
 

Typedefs

using columnar::UserType = typename ColumnTypeTraits< CT, CM >::UserType
 
template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using columnar::ColumnAccessor = AccessorTemplate< CI, CT, ColumnAccessMode::input, CM >
 
template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using columnar::ColumnDecorator = AccessorTemplate< CI, CT, ColumnAccessMode::output, CM >
 
template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using columnar::ColumnUpdater = AccessorTemplate< CI, CT, ColumnAccessMode::update, CM >
 

Functions

template<typename CT , typename CM >
 columnar::requires ((std::is_integral_v< CT >||std::is_floating_point_v< CT >) &&!std::is_same_v< CT, bool >) struct ColumnTypeTraits< CT
 
template<ContainerIdConcept CI, typename CT , typename CM >
 columnar::requires (CI::regularObjectId &&(ColumnTypeTraits< CT, CM >::useConvertInput||ColumnTypeTraits< CT, CM >::useConvertWithDataInput)) class AccessorTemplate< CI
 
 columnar::AccessorTemplate ()=default
 
 columnar::AccessorTemplate (ColumnarTool< CM > &columnBase, const std::string &name, ColumnInfo &&info={})
 
decltype(auto) columnar::operator() (ObjectId< CI, CM > id) const noexcept
 
bool columnar::isAvailable (ObjectId< CI, CM > id) const noexcept
 
std::optional< UserType > columnar::getOptional (ObjectId< CI, CM > id) const
 
template<ContainerIdConcept CI, typename CT , ColumnAccessMode CAM, typename CM >
void columnar::resetAccessor (AccessorTemplate< CI, CT, CAM, CM > &accessor, ColumnarTool< CM > &columnBase, const std::string &name, ColumnInfo &&info={})
 reset a column accessor to point to a new column More...
 

Variables

CM columnar::final
 
 columnar::CT
 
AccessorTemplate< CI, ColumnType, ColumnAccessMode::input, CM > columnar::m_base