CMS 3D CMS Logo

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

#include <SoACommon.h>

Public Types

using ScalarType = T
 
using TupleOrPointerType = const ValueType *
 
using ValueType = T
 

Public Member Functions

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

Public Attributes

ValueType const * addr_ = nullptr
 
ValueType const byte_size_type alignment
 
ValueType const & o: addr_{o.addr_} {} static constexpr bool checkAlignment(ValueType* addr
 

Static Public Attributes

static constexpr SoAColumnType columnType = COLUMN_TYPE
 

Detailed Description

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

Definition at line 109 of file SoACommon.h.

Member Typedef Documentation

◆ ScalarType

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

Definition at line 120 of file SoACommon.h.

◆ TupleOrPointerType

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

Definition at line 121 of file SoACommon.h.

◆ ValueType

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

Definition at line 119 of file SoACommon.h.

Constructor & Destructor Documentation

◆ SoAConstParametersImpl()

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

Member Function Documentation

◆ __attribute__() [1/2]

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

Definition at line 127 of file SoACommon.h.

◆ __attribute__() [2/2]

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

◆ tupleOrPointer()

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

Definition at line 137 of file SoACommon.h.

137 { return addr_; }

Member Data Documentation

◆ addr_

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

◆ alignment

template<SoAColumnType COLUMN_TYPE, typename T>
ValueType const byte_size_type cms::soa::SoAConstParametersImpl< COLUMN_TYPE, T >::alignment
Initial value:
{
return reinterpret_cast<intptr_t>(addr) % alignment

Definition at line 133 of file SoACommon.h.

◆ columnType

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

Definition at line 117 of file SoACommon.h.

◆ o

template<SoAColumnType COLUMN_TYPE, typename T>
ValueType const& cms::soa::SoAConstParametersImpl< COLUMN_TYPE, T >::o

Definition at line 133 of file SoACommon.h.