#include <cstdint>
#include <cassert>
#include <ostream>
#include <tuple>
#include <type_traits>
#include <boost/preprocessor.hpp>
#include "FWCore/Utilities/interface/typedefs.h"
Go to the source code of this file.
|
struct | cms::soa::SoAAccessors< T >::ColumnType< columnType >::AccessType< accessType > |
|
struct | cms::soa::add_restrict< T, RESTRICT_QUALIFY > |
|
struct | cms::soa::add_restrict< T, RestrictQualify::disabled > |
|
struct | cms::soa::add_restrict< T, RestrictQualify::enabled > |
|
struct | cms::soa::SoAAccessors< T >::ColumnType< columnType >::AccessType< accessType >::Alignment< alignment > |
|
struct | cms::soa::AlignmentEnforcement |
|
struct | cms::soa::CacheLineSize |
|
struct | cms::soa::SoAAccessors< T >::ColumnType< columnType > |
|
struct | cms::soa::EigenConstMapMaker< C > |
|
struct | cms::soa::SoAAccessors< T >::ColumnType< columnType >::AccessType< accessType >::Alignment< alignment >::RestrictQualifier< restrictQualify > |
|
struct | cms::soa::SoAAccessors< T > |
|
struct | cms::soa::SoAColumnAccessorsImpl< typename, SoAColumnType, SoAAccessType, byte_size_type, bool > |
|
struct | cms::soa::SoAColumnAccessorsImpl< T, SoAColumnType::column, SoAAccessType::constAccess, alignment, restrictQualify > |
|
struct | cms::soa::SoAColumnAccessorsImpl< T, SoAColumnType::column, SoAAccessType::mutableAccess, alignment, restrictQualify > |
|
struct | cms::soa::SoAColumnAccessorsImpl< T, SoAColumnType::eigen, SoAAccessType::constAccess, alignment, restrictQualify > |
|
struct | cms::soa::SoAColumnAccessorsImpl< T, SoAColumnType::eigen, SoAAccessType::mutableAccess, alignment, restrictQualify > |
|
struct | cms::soa::SoAColumnAccessorsImpl< T, SoAColumnType::scalar, SoAAccessType::constAccess, alignment, restrictQualify > |
|
struct | cms::soa::SoAColumnAccessorsImpl< T, SoAColumnType::scalar, SoAAccessType::mutableAccess, alignment, restrictQualify > |
|
struct | cms::soa::SoAConstParameters_ColumnType< COLUMN_TYPE > |
|
struct | cms::soa::SoAConstParametersImpl< COLUMN_TYPE, T > |
|
struct | cms::soa::SoAConstParametersImpl< COLUMN_TYPE, T > |
|
struct | cms::soa::SoAConstParametersImpl< SoAColumnType::eigen, T > |
|
class | cms::soa::SoAConstValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY > |
|
class | cms::soa::SoAConstValue< SoAColumnType::eigen, C, ALIGNMENT, RESTRICT_QUALIFY > |
|
struct | cms::soa::SoAParameters_ColumnType< COLUMN_TYPE > |
|
struct | cms::soa::SoAParametersImpl< COLUMN_TYPE, T > |
|
struct | cms::soa::SoAParametersImpl< COLUMN_TYPE, T > |
|
struct | cms::soa::SoAParametersImpl< SoAColumnType::eigen, T > |
|
class | cms::soa::SoAValue< COLUMN_TYPE, T, ALIGNMENT, RESTRICT_QUALIFY > |
|
class | cms::soa::SoAValue< SoAColumnType::eigen, C, ALIGNMENT, RESTRICT_QUALIFY > |
|
|
#define | _ITERATE_ON_ALL(MACRO, DATA, ...) BOOST_PP_SEQ_FOR_EACH(MACRO, DATA, BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)) |
|
#define | _ITERATE_ON_ALL_COMMA(MACRO, DATA, ...) BOOST_PP_TUPLE_ENUM(BOOST_PP_SEQ_TO_TUPLE(_ITERATE_ON_ALL(MACRO, DATA, __VA_ARGS__))) |
|
#define | _SWITCH_ON_TYPE(VALUE_TYPE, IF_SCALAR, IF_COLUMN, IF_EIGEN_COLUMN) |
|
#define | _VALUE_TYPE_COLUMN 1 |
|
#define | _VALUE_TYPE_EIGEN_COLUMN 2 |
|
#define | _VALUE_TYPE_SCALAR 0 |
|
#define | CMS_SOA_BYTE_SIZE_TYPE std::size_t |
|
#define | SOA_COLUMN(TYPE, NAME) (_VALUE_TYPE_COLUMN, TYPE, NAME) |
|
#define | SOA_DEVICE_ONLY |
|
#define | SOA_EIGEN_COLUMN(TYPE, NAME) (_VALUE_TYPE_EIGEN_COLUMN, TYPE, NAME) |
|
#define | SOA_HOST_DEVICE |
|
#define | SOA_HOST_ONLY |
|
#define | SOA_INLINE inline __attribute__((always_inline)) |
|
#define | SOA_SCALAR(TYPE, NAME) (_VALUE_TYPE_SCALAR, TYPE, NAME) |
|
#define | SOA_THROW_OUT_OF_RANGE(A) { throw std::out_of_range(A); } |
|
|
template<SoAColumnType COLUMN_TYPE, typename T > |
| cms::soa::__attribute__ ((always_inline)) const expr SoAParametersImpl< COLUMN_TYPE |
|
template<typename T > |
| cms::soa::__attribute__ ((always_inline)) const expr SoAParametersImpl< SoAColumnType |
|
constexpr byte_size_type | cms::soa::alignSize (byte_size_type size, byte_size_type alignment) |
|
T | cms::soa::const_cast_SoAParametersImpl (SoAConstParametersImpl< COLUMN_TYPE, T > const &o) |
|
template<typename SOA , typename SFINAE = typename std::enable_if_t<std::is_invocable_v<decltype(&SOA::soaToStreamInternal), SOA&, std::ostream&>>> |
std::ostream & | operator<< (std::ostream &os, const SOA &soa) |
|
◆ _ITERATE_ON_ALL
#define _ITERATE_ON_ALL |
( |
|
MACRO, |
|
|
|
DATA, |
|
|
|
... |
|
) |
| BOOST_PP_SEQ_FOR_EACH(MACRO, DATA, BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)) |
◆ _ITERATE_ON_ALL_COMMA
#define _ITERATE_ON_ALL_COMMA |
( |
|
MACRO, |
|
|
|
DATA, |
|
|
|
... |
|
) |
| BOOST_PP_TUPLE_ENUM(BOOST_PP_SEQ_TO_TUPLE(_ITERATE_ON_ALL(MACRO, DATA, __VA_ARGS__))) |
◆ _SWITCH_ON_TYPE
#define _SWITCH_ON_TYPE |
( |
|
VALUE_TYPE, |
|
|
|
IF_SCALAR, |
|
|
|
IF_COLUMN, |
|
|
|
IF_EIGEN_COLUMN |
|
) |
| |
Value:BOOST_PP_IF( \
IF_SCALAR, \
BOOST_PP_IF( \
IF_COLUMN, \
#define _VALUE_TYPE_SCALAR
#define _VALUE_TYPE_EIGEN_COLUMN
#define _VALUE_TYPE_COLUMN
Definition at line 565 of file SoACommon.h.
◆ _VALUE_TYPE_COLUMN
#define _VALUE_TYPE_COLUMN 1 |
◆ _VALUE_TYPE_EIGEN_COLUMN
#define _VALUE_TYPE_EIGEN_COLUMN 2 |
◆ _VALUE_TYPE_SCALAR
#define _VALUE_TYPE_SCALAR 0 |
◆ CMS_SOA_BYTE_SIZE_TYPE
#define CMS_SOA_BYTE_SIZE_TYPE std::size_t |
◆ SOA_COLUMN
◆ SOA_DEVICE_ONLY
◆ SOA_EIGEN_COLUMN
◆ SOA_HOST_DEVICE
◆ SOA_HOST_ONLY
◆ SOA_INLINE
◆ SOA_SCALAR
◆ SOA_THROW_OUT_OF_RANGE
#define SOA_THROW_OUT_OF_RANGE |
( |
|
A | ) |
{ throw std::out_of_range(A); } |
◆ operator<<()
template<typename SOA , typename SFINAE = typename std::enable_if_t<std::is_invocable_v<decltype(&SOA::soaToStreamInternal), SOA&, std::ostream&>>>
std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
const SOA & |
soa |
|
) |
| |