CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | Friends
portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT > Struct Template Reference

#include <TestSoA.h>

Classes

struct  ConstViewTemplateFreeParams
 
struct  Metadata
 
struct  ViewTemplateFreeParams
 

Public Types

using AlignmentEnforcement = cms::soa::AlignmentEnforcement
 
using byte_size_type = cms::soa::byte_size_type
 
using ConstView = ConstViewTemplate< cms::soa::RestrictQualify::enabled, cms::soa::RangeChecking::disabled >
 
template<bool RESTRICT_QUALIFY, bool RANGE_CHECKING>
using ConstViewTemplate = ConstViewTemplateFreeParams< ALIGNMENT, ALIGNMENT_ENFORCEMENT, RESTRICT_QUALIFY, RANGE_CHECKING >
 
using self_type = TestSoALayout
 
using size_type = cms::soa::size_type
 
template<cms::soa::SoAColumnType COLUMN_TYPE, class C >
using SoAConstValueWithConf = cms::soa::SoAConstValue< COLUMN_TYPE, C, conditionalAlignment >
 
template<cms::soa::SoAColumnType COLUMN_TYPE, class C >
using SoAValueWithConf = cms::soa::SoAValue< COLUMN_TYPE, C, conditionalAlignment >
 
using View = ViewTemplate< cms::soa::RestrictQualify::enabled, cms::soa::RangeChecking::disabled >
 
template<bool RESTRICT_QUALIFY, bool RANGE_CHECKING>
using ViewTemplate = ViewTemplateFreeParams< ALIGNMENT, ALIGNMENT_ENFORCEMENT, RESTRICT_QUALIFY, RANGE_CHECKING >
 

Public Member Functions

 __attribute__ ((always_inline)) const Metadata metadata() const
 
 __attribute__ ((always_inline)) Metadata metadata()
 
TestSoALayoutoperator= (TestSoALayout const &other)
 
template<typename T >
void ROOTReadStreamer (T &onfile)
 
void ROOTStreamerCleaner ()
 
void soaToStreamInternal (std::ostream &os) const
 
 TestSoALayout ()
 
 TestSoALayout (std::byte *mem, size_type elements)
 
 TestSoALayout (TestSoALayout const &other)
 

Static Public Member Functions

static constexpr byte_size_type computeDataSize (size_type elements)
 

Public Attributes

friend Metadata
 

Static Public Attributes

static constexpr byte_size_type alignment = ALIGNMENT
 
static constexpr bool alignmentEnforcement = ALIGNMENT_ENFORCEMENT
 
static constexpr byte_size_type conditionalAlignment = alignmentEnforcement == cms::soa::AlignmentEnforcement::enforced ? alignment : 0
 
static constexpr byte_size_type defaultAlignment = 128
 

Private Member Functions

void organizeColumnsFromBuffer ()
 

Private Attributes

byte_size_type byteSize_
 
size_type elements_
 
std::byte * mem_
 
size_type const scalar_ = 1
 

Friends

template<typename T >
void dump ()
 

Detailed Description

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
struct portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >

Definition at line 25 of file TestSoA.h.

Member Typedef Documentation

◆ AlignmentEnforcement

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::AlignmentEnforcement = cms::soa::AlignmentEnforcement

Definition at line 25 of file TestSoA.h.

◆ byte_size_type

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::byte_size_type = cms::soa::byte_size_type

Definition at line 25 of file TestSoA.h.

◆ ConstView

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::ConstView = ConstViewTemplate<cms::soa::RestrictQualify::enabled, cms::soa::RangeChecking::disabled>

Definition at line 25 of file TestSoA.h.

◆ ConstViewTemplate

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
template<bool RESTRICT_QUALIFY, bool RANGE_CHECKING>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::ConstViewTemplate = ConstViewTemplateFreeParams<ALIGNMENT, ALIGNMENT_ENFORCEMENT, RESTRICT_QUALIFY, RANGE_CHECKING>

Definition at line 25 of file TestSoA.h.

◆ self_type

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::self_type = TestSoALayout

Definition at line 25 of file TestSoA.h.

◆ size_type

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::size_type = cms::soa::size_type

Definition at line 25 of file TestSoA.h.

◆ SoAConstValueWithConf

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
template<cms::soa::SoAColumnType COLUMN_TYPE, class C >
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::SoAConstValueWithConf = cms::soa::SoAConstValue<COLUMN_TYPE, C, conditionalAlignment>

Definition at line 25 of file TestSoA.h.

◆ SoAValueWithConf

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
template<cms::soa::SoAColumnType COLUMN_TYPE, class C >
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::SoAValueWithConf = cms::soa::SoAValue<COLUMN_TYPE, C, conditionalAlignment>

Definition at line 25 of file TestSoA.h.

◆ View

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::View = ViewTemplate<cms::soa::RestrictQualify::enabled, cms::soa::RangeChecking::disabled>

Definition at line 25 of file TestSoA.h.

◆ ViewTemplate

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
template<bool RESTRICT_QUALIFY, bool RANGE_CHECKING>
using portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::ViewTemplate = ViewTemplateFreeParams<ALIGNMENT, ALIGNMENT_ENFORCEMENT, RESTRICT_QUALIFY, RANGE_CHECKING>

Definition at line 25 of file TestSoA.h.

Constructor & Destructor Documentation

◆ TestSoALayout() [1/3]

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::TestSoALayout ( )
inline

Definition at line 25 of file TestSoA.h.

◆ TestSoALayout() [2/3]

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::TestSoALayout ( std::byte *  mem,
size_type  elements 
)
inline

Definition at line 25 of file TestSoA.h.

◆ TestSoALayout() [3/3]

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::TestSoALayout ( TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT > const &  other)
inline

Definition at line 25 of file TestSoA.h.

Member Function Documentation

◆ __attribute__() [1/2]

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::__attribute__ ( (always_inline)  ) const
inline

Definition at line 25 of file TestSoA.h.

◆ __attribute__() [2/2]

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::__attribute__ ( (always_inline)  )
inline

Definition at line 25 of file TestSoA.h.

◆ computeDataSize()

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
static constexpr byte_size_type portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::computeDataSize ( size_type  elements)
inlinestatic

Definition at line 25 of file TestSoA.h.

◆ operator=()

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
TestSoALayout& portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::operator= ( TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT > const &  other)
inline

Definition at line 25 of file TestSoA.h.

◆ organizeColumnsFromBuffer()

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
void portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::organizeColumnsFromBuffer ( )
inlineprivate

Definition at line 25 of file TestSoA.h.

◆ ROOTReadStreamer()

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
template<typename T >
void portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::ROOTReadStreamer ( T onfile)
inline

Definition at line 25 of file TestSoA.h.

◆ ROOTStreamerCleaner()

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
void portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::ROOTStreamerCleaner ( )
inline

Definition at line 25 of file TestSoA.h.

◆ soaToStreamInternal()

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
void portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::soaToStreamInternal ( std::ostream &  os) const
inline

Definition at line 25 of file TestSoA.h.

Friends And Related Function Documentation

◆ dump

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
template<typename T >
void dump ( )
friend

Definition at line 168 of file eve_filter.cc.

168  {
169  std::cout << parents.fPattern << std::endl;
170  for (unsigned int i = 0; i < filters.size(); ++i)
171  std::cout << '\t' << std::setw(32) << std::left << filters[i].fPattern << '\t' << colors[i] << std::endl;
172 }
TPRegexp parents
Definition: eve_filter.cc:21
std::vector< TPRegexp > filters
Definition: eve_filter.cc:22
Definition: colors.py:1

Member Data Documentation

◆ alignment

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
constexpr byte_size_type portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::alignment = ALIGNMENT
static

Definition at line 25 of file TestSoA.h.

◆ alignmentEnforcement

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
constexpr bool portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::alignmentEnforcement = ALIGNMENT_ENFORCEMENT
static

Definition at line 25 of file TestSoA.h.

◆ byteSize_

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
byte_size_type portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::byteSize_
private

Definition at line 25 of file TestSoA.h.

◆ conditionalAlignment

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
constexpr byte_size_type portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::conditionalAlignment = alignmentEnforcement == cms::soa::AlignmentEnforcement::enforced ? alignment : 0
static

Definition at line 25 of file TestSoA.h.

◆ defaultAlignment

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
constexpr byte_size_type portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::defaultAlignment = 128
static

Definition at line 25 of file TestSoA.h.

◆ elements_

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
size_type portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::elements_
private

Definition at line 25 of file TestSoA.h.

◆ mem_

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
std::byte* portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::mem_
private

Definition at line 25 of file TestSoA.h.

◆ Metadata

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
friend portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::Metadata

Definition at line 25 of file TestSoA.h.

◆ scalar_

template<std::size_t ALIGNMENT = cms::soa::CacheLineSize::defaultSize, bool ALIGNMENT_ENFORCEMENT = cms::soa::AlignmentEnforcement::relaxed>
size_type const portabletest::TestSoALayout< ALIGNMENT, ALIGNMENT_ENFORCEMENT >::scalar_ = 1
private

Definition at line 25 of file TestSoA.h.