CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
cms::soa::SoAParametersImpl< COLUMN_TYPE, T > Struct Template Reference

#include <SoACommon.h>

Public Types

using ConstType = SoAConstParametersImpl< columnType, ValueType >
 
using ScalarType = T
 
using TupleOrPointerType = ValueType *
 
using ValueType = T
 

Public Member Functions

 __attribute__ ((always_inline)) const expr SoAParametersImpl(ValueType *addr)
 
 SoAParametersImpl ()=default
 
TupleOrPointerType tupleOrPointer ()
 

Static Public Member Functions

static constexpr bool checkAlignment (ValueType *addr, byte_size_type alignment)
 

Public Attributes

ValueTypeaddr_ = nullptr
 
friend ConstType
 

Static Public Attributes

static constexpr SoAColumnType columnType = COLUMN_TYPE
 

Detailed Description

template<SoAColumnType COLUMN_TYPE, typename T>
struct cms::soa::SoAParametersImpl< COLUMN_TYPE, T >

Definition at line 112 of file SoACommon.h.

Member Typedef Documentation

◆ ConstType

template<SoAColumnType COLUMN_TYPE, typename T>
using cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::ConstType = SoAConstParametersImpl<columnType, ValueType>

Definition at line 197 of file SoACommon.h.

◆ ScalarType

template<SoAColumnType COLUMN_TYPE, typename T>
using cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::ScalarType = T

Definition at line 194 of file SoACommon.h.

◆ TupleOrPointerType

template<SoAColumnType COLUMN_TYPE, typename T>
using cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::TupleOrPointerType = ValueType*

Definition at line 195 of file SoACommon.h.

◆ ValueType

template<SoAColumnType COLUMN_TYPE, typename T>
using cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::ValueType = T

Definition at line 193 of file SoACommon.h.

Constructor & Destructor Documentation

◆ SoAParametersImpl()

template<SoAColumnType COLUMN_TYPE, typename T>
cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::SoAParametersImpl ( )
default

Member Function Documentation

◆ __attribute__()

template<SoAColumnType COLUMN_TYPE, typename T>
cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::__attribute__ ( (always_inline)  ) const
inline

◆ checkAlignment()

template<SoAColumnType COLUMN_TYPE, typename T>
static constexpr bool cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::checkAlignment ( ValueType addr,
byte_size_type  alignment 
)
inlinestatic

Definition at line 206 of file SoACommon.h.

206  {
207  return reinterpret_cast<intptr_t>(addr) % alignment;
208  }

◆ tupleOrPointer()

template<SoAColumnType COLUMN_TYPE, typename T>
TupleOrPointerType cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::tupleOrPointer ( )
inline

Definition at line 210 of file SoACommon.h.

210 { return addr_; }

Member Data Documentation

◆ addr_

template<SoAColumnType COLUMN_TYPE, typename T>
ValueType* cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::addr_ = nullptr

◆ columnType

template<SoAColumnType COLUMN_TYPE, typename T>
constexpr SoAColumnType cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::columnType = COLUMN_TYPE
static

Definition at line 191 of file SoACommon.h.

◆ ConstType

template<SoAColumnType COLUMN_TYPE, typename T>
friend cms::soa::SoAParametersImpl< COLUMN_TYPE, T >::ConstType

Definition at line 198 of file SoACommon.h.