CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes
cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY > Class Template Reference

#include <SoACommon.h>

Public Types

using ConstParams = SoAConstParametersImpl< COLUMN_TYPE, T >
 
using Params = SoAParametersImpl< COLUMN_TYPE, T >
 
using Ptr = typename Restr::Pointer
 
using PtrToConst = typename Restr::PointerToConst
 
using Ref = typename Restr::Reference
 
using RefToConst = typename Restr::ReferenceToConst
 
using Restr = add_restrict< T, RESTRICT_QUALIFY >
 
using Val = typename Restr::Value
 
using valueType = T
 

Public Member Functions

 __attribute__ ((always_inline)) SoAConstValue(size_type i
 
 __attribute__ ((always_inline)) SoAConstValue(size_type i
 
 __attribute__ ((always_inline)) SoAConstValue(size_type i
 
 __attribute__ ((always_inline)) RefToConst operator()() const
 
 __attribute__ ((always_inline)) const T *operator &() const
 
const T col_ (col)
 
SoAParametersImpl< COLUMN_TYPE, Tcol_ (params.addr_)
 
SoAConstParametersImpl< COLUMN_TYPE, Tcol_ (params.addr_)
 

Public Attributes

const Tcol: idx_(i)
 
SoAParametersImpl< COLUMN_TYPE, Tparams: idx_(i)
 
SoAConstParametersImpl< COLUMN_TYPE, Tparams: idx_(i)
 

Static Public Attributes

static constexpr auto valueSize = sizeof(T)
 

Private Attributes

const Tcol_
 
size_type idx_
 

Detailed Description

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
class cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >

Definition at line 415 of file SoACommon.h.

Member Typedef Documentation

◆ ConstParams

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::ConstParams = SoAConstParametersImpl<COLUMN_TYPE, T>

Definition at line 427 of file SoACommon.h.

◆ Params

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::Params = SoAParametersImpl<COLUMN_TYPE, T>

Definition at line 426 of file SoACommon.h.

◆ Ptr

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::Ptr = typename Restr::Pointer

Definition at line 422 of file SoACommon.h.

◆ PtrToConst

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::PtrToConst = typename Restr::PointerToConst

Definition at line 424 of file SoACommon.h.

◆ Ref

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::Ref = typename Restr::Reference

Definition at line 423 of file SoACommon.h.

◆ RefToConst

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::RefToConst = typename Restr::ReferenceToConst

Definition at line 425 of file SoACommon.h.

◆ Restr

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::Restr = add_restrict<T, RESTRICT_QUALIFY>

Definition at line 420 of file SoACommon.h.

◆ Val

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::Val = typename Restr::Value

Definition at line 421 of file SoACommon.h.

◆ valueType

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
using cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::valueType = T

Definition at line 459 of file SoACommon.h.

Member Function Documentation

◆ __attribute__() [1/5]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::__attribute__ ( (always_inline)  )
inline

◆ __attribute__() [2/5]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::__attribute__ ( (always_inline)  )
inline

◆ __attribute__() [3/5]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::__attribute__ ( (always_inline)  )
inline

◆ __attribute__() [4/5]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::__attribute__ ( (always_inline)  ) const
inline

◆ __attribute__() [5/5]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::__attribute__ ( (always_inline)  ) const &
inline

◆ col_() [1/3]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
const T cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::col_ ( col  )
inline

Definition at line 429 of file SoACommon.h.

◆ col_() [2/3]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
SoAParametersImpl<COLUMN_TYPE, T> cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::col_ ( params.  addr_)
inline

Definition at line 432 of file SoACommon.h.

432 : idx_(i), col_(params.addr_) {}
SoAParametersImpl< COLUMN_TYPE, T > params
Definition: SoACommon.h:432

◆ col_() [3/3]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
SoAConstParametersImpl<COLUMN_TYPE, T> cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::col_ ( params.  addr_)
inline

Definition at line 435 of file SoACommon.h.

435 : idx_(i), col_(params.addr_) {}
SoAParametersImpl< COLUMN_TYPE, T > params
Definition: SoACommon.h:432

Member Data Documentation

◆ col

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
const T* cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::col

◆ col_

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
const T* cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::col_
private

◆ idx_

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
size_type cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::idx_
private

◆ params [1/2]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
SoAParametersImpl<COLUMN_TYPE, T> cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::params

Definition at line 432 of file SoACommon.h.

◆ params [2/2]

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
SoAConstParametersImpl<COLUMN_TYPE, T> cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::params

Definition at line 435 of file SoACommon.h.

◆ valueSize

template<SoAColumnType COLUMN_TYPE, typename T, byte_size_type ALIGNMENT, bool RESTRICT_QUALIFY = RestrictQualify::disabled>
constexpr auto cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY >::valueSize = sizeof(T)
static

Definition at line 460 of file SoACommon.h.