Project
Loading...
Searching...
No Matches
o2::rans::internal::simd::AlignedArray< T, width_V, size_V > Class Template Reference

#include <AlignedArray.h>

Public Types

using value_type = T
 
using pointer = value_type *
 
using reference = value_type &
 
using iterator = AlignedArrayIterator< AlignedArray >
 
using const_iterator = AlignedArrayIterator< const AlignedArray >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

constexpr AlignedArray () noexcept
 
template<typename elem_T , std::enable_if_t< std::is_convertible_v< elem_T, value_type >, bool > = true>
constexpr AlignedArray (elem_T value) noexcept
 
template<typename... Args, std::enable_if_t<(sizeof...(Args)==AlignedArray< T, width_V, size_V >::nElements()) &&std::is_convertible_v< std::common_type_t< Args... >, value_type >, bool > = true>
constexpr AlignedArray (Args... args) noexcept
 
constexpr const T * data () const noexcept
 
constexpr T * data () noexcept
 
constexpr const_iterator begin () const noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr iterator begin () noexcept
 
constexpr iterator end () noexcept
 
constexpr const_reverse_iterator rbegin () const noexcept
 
constexpr const_reverse_iterator rend () const noexcept
 
constexpr reverse_iterator rbegin () noexcept
 
constexpr reverse_iterator rend () noexcept
 
constexpr gsl::span< T, nElementsPerLane()> operator[] (size_t idx)
 
constexpr gsl::span< const T, nElementsPerLane()> operator[] (size_t idx) const
 
constexpr const T & operator() (size_t idx, size_t elem) const
 
constexpr T & operator() (size_t idx, size_t elem)
 
constexpr const T & operator() (size_t idx) const
 
constexpr T & operator() (size_t idx)
 

Static Public Member Functions

static constexpr size_t size () noexcept
 
static constexpr size_t nElementsPerLane () noexcept
 
static constexpr size_t nElements () noexcept
 

Detailed Description

template<typename T, SIMDWidth width_V, size_t size_V = 1>
class o2::rans::internal::simd::AlignedArray< T, width_V, size_V >

Definition at line 132 of file AlignedArray.h.

Member Typedef Documentation

◆ const_iterator

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::const_iterator = AlignedArrayIterator<const AlignedArray>

Definition at line 139 of file AlignedArray.h.

◆ const_reverse_iterator

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 141 of file AlignedArray.h.

◆ iterator

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::iterator = AlignedArrayIterator<AlignedArray>

Definition at line 138 of file AlignedArray.h.

◆ pointer

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::pointer = value_type*

Definition at line 136 of file AlignedArray.h.

◆ reference

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::reference = value_type&

Definition at line 137 of file AlignedArray.h.

◆ reverse_iterator

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 140 of file AlignedArray.h.

◆ value_type

template<typename T , SIMDWidth width_V, size_t size_V = 1>
using o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::value_type = T

Definition at line 135 of file AlignedArray.h.

Constructor & Destructor Documentation

◆ AlignedArray() [1/3]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::AlignedArray ( )
inlineconstexprnoexcept

Definition at line 147 of file AlignedArray.h.

◆ AlignedArray() [2/3]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
template<typename elem_T , std::enable_if_t< std::is_convertible_v< elem_T, value_type >, bool > = true>
constexpr o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::AlignedArray ( elem_T  value)
inlineconstexprnoexcept

Definition at line 150 of file AlignedArray.h.

◆ AlignedArray() [3/3]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
template<typename... Args, std::enable_if_t<(sizeof...(Args)==AlignedArray< T, width_V, size_V >::nElements()) &&std::is_convertible_v< std::common_type_t< Args... >, value_type >, bool > = true>
constexpr o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::AlignedArray ( Args...  args)
inlineconstexprnoexcept

Definition at line 158 of file AlignedArray.h.

Member Function Documentation

◆ begin() [1/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const_iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::begin ( ) const
inlineconstexprnoexcept

Definition at line 162 of file AlignedArray.h.

◆ begin() [2/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::begin ( )
inlineconstexprnoexcept

Definition at line 164 of file AlignedArray.h.

◆ data() [1/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const T * o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::data ( ) const
inlineconstexprnoexcept

Definition at line 160 of file AlignedArray.h.

◆ data() [2/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr T * o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::data ( )
inlineconstexprnoexcept

Definition at line 161 of file AlignedArray.h.

◆ end() [1/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const_iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::end ( ) const
inlineconstexprnoexcept

Definition at line 163 of file AlignedArray.h.

◆ end() [2/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::end ( )
inlineconstexprnoexcept

Definition at line 165 of file AlignedArray.h.

◆ nElements()

template<typename T , SIMDWidth width_V, size_t size_V = 1>
static constexpr size_t o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::nElements ( )
inlinestaticconstexprnoexcept

Definition at line 145 of file AlignedArray.h.

◆ nElementsPerLane()

template<typename T , SIMDWidth width_V, size_t size_V = 1>
static constexpr size_t o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::nElementsPerLane ( )
inlinestaticconstexprnoexcept

Definition at line 144 of file AlignedArray.h.

◆ operator()() [1/4]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr T & o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::operator() ( size_t  idx)
inlineconstexpr

Definition at line 187 of file AlignedArray.h.

◆ operator()() [2/4]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const T & o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::operator() ( size_t  idx) const
inlineconstexpr

Definition at line 182 of file AlignedArray.h.

◆ operator()() [3/4]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr T & o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::operator() ( size_t  idx,
size_t  elem 
)
inlineconstexpr

Definition at line 180 of file AlignedArray.h.

◆ operator()() [4/4]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const T & o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::operator() ( size_t  idx,
size_t  elem 
) const
inlineconstexpr

Definition at line 175 of file AlignedArray.h.

◆ operator[]() [1/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr gsl::span< T, nElementsPerLane()> o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::operator[] ( size_t  idx)
inlineconstexpr

Definition at line 171 of file AlignedArray.h.

◆ operator[]() [2/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr gsl::span< const T, nElementsPerLane()> o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::operator[] ( size_t  idx) const
inlineconstexpr

Definition at line 173 of file AlignedArray.h.

◆ rbegin() [1/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const_reverse_iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::rbegin ( ) const
inlineconstexprnoexcept

Definition at line 166 of file AlignedArray.h.

◆ rbegin() [2/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr reverse_iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::rbegin ( )
inlineconstexprnoexcept

Definition at line 168 of file AlignedArray.h.

◆ rend() [1/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr const_reverse_iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::rend ( ) const
inlineconstexprnoexcept

Definition at line 167 of file AlignedArray.h.

◆ rend() [2/2]

template<typename T , SIMDWidth width_V, size_t size_V = 1>
constexpr reverse_iterator o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::rend ( )
inlineconstexprnoexcept

Definition at line 169 of file AlignedArray.h.

◆ size()

template<typename T , SIMDWidth width_V, size_t size_V = 1>
static constexpr size_t o2::rans::internal::simd::AlignedArray< T, width_V, size_V >::size ( )
inlinestaticconstexprnoexcept

Definition at line 143 of file AlignedArray.h.


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