ATLAS Offline Software
Loading...
Searching...
No Matches
columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray > Class Template Referencefinal

#include <VariantLinkColumn.h>

Collaboration diagram for columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >:

Public Types

using CI = VariantContainerId<CIBase,CIList...>
using CM = ColumnarModeArray
using BaseAccessor = ContainerFreeAccessor<ObjectLink<CI,CM>,CAM,CM>

Public Member Functions

 ContainerFreeAccessor ()=default
 ContainerFreeAccessor (ColumnarTool< CM > &columnarTool, ColumnAccessorOptions &&options, ColumnAccessorOptionsArray &&optionsArray)
auto operator() (void **dataArea, std::size_t index) const noexcept
auto operator() (void **dataArea, std::size_t beginIndex, std::size_t endIndex) const noexcept
bool isAvailable (void **dataArea) const noexcept

Static Public Attributes

static constexpr ColumnAccessMode CAM = ColumnAccessMode::input
static constexpr bool isDefined = true
static constexpr unsigned internalOffsetColumns = BaseAccessor::internalOffsetColumns

Private Attributes

BaseAccessor m_accessor

Detailed Description

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
class columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >

Definition at line 424 of file VariantLinkColumn.h.

Member Typedef Documentation

◆ BaseAccessor

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
using columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::BaseAccessor = ContainerFreeAccessor<ObjectLink<CI,CM>,CAM,CM>

Definition at line 433 of file VariantLinkColumn.h.

◆ CI

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
using columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::CI = VariantContainerId<CIBase,CIList...>

Public Members

Definition at line 430 of file VariantLinkColumn.h.

◆ CM

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
using columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::CM = ColumnarModeArray

Definition at line 432 of file VariantLinkColumn.h.

Constructor & Destructor Documentation

◆ ContainerFreeAccessor() [1/2]

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::ContainerFreeAccessor ( )
default

◆ ContainerFreeAccessor() [2/2]

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::ContainerFreeAccessor ( ColumnarTool< CM > & columnarTool,
ColumnAccessorOptions && options,
ColumnAccessorOptionsArray && optionsArray )
inline

Member Function Documentation

◆ isAvailable()

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
bool columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::isAvailable ( void ** dataArea) const
inlinenoexcept

Definition at line 455 of file VariantLinkColumn.h.

456 {
457 return m_accessor.isAvailable (dataArea);
458 }

◆ operator()() [1/2]

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
auto columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::operator() ( void ** dataArea,
std::size_t beginIndex,
std::size_t endIndex ) const
inlinenoexcept

Definition at line 449 of file VariantLinkColumn.h.

450 {
451 return VectorConvertView ([] (const ObjectLink<CI,CM>& link) {return link.opt_value();},
453 }
VectorConvertView(FunctionType &&, ViewType &&) -> VectorConvertView< std::decay_t< FunctionType >, std::decay_t< ViewType > >

◆ operator()() [2/2]

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
auto columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::operator() ( void ** dataArea,
std::size_t index ) const
inlinenoexcept

Definition at line 444 of file VariantLinkColumn.h.

445 {
446 return m_accessor(dataArea, index).opt_value();
447 }

Member Data Documentation

◆ CAM

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
ColumnAccessMode columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::CAM = ColumnAccessMode::input
staticconstexpr

Definition at line 431 of file VariantLinkColumn.h.

◆ internalOffsetColumns

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
unsigned columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::internalOffsetColumns = BaseAccessor::internalOffsetColumns
staticconstexpr

Definition at line 436 of file VariantLinkColumn.h.

◆ isDefined

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
bool columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::isDefined = true
staticconstexpr

Definition at line 435 of file VariantLinkColumn.h.

◆ m_accessor

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename ELT>
BaseAccessor columnar::detail::ContainerFreeAccessor< LinkCastColumn< VariantContainerId< CIBase, CIList... >, ELT >, ColumnAccessMode::input, ColumnarModeArray >::m_accessor
private

Private Members

Definition at line 464 of file VariantLinkColumn.h.


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