IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::ExtractExpressionRank Struct Reference

#include <IpplOperations.h>

Static Public Member Functions

template<typename Coords , std::enable_if_t< std::is_array_v< Coords >, int > = 0>
KOKKOS_INLINE_FUNCTION static constexpr unsigned getRank ()
 
template<typename Coords , std::enable_if_t< std::is_class_v< Coords >, int > = 0>
KOKKOS_INLINE_FUNCTION static constexpr unsigned getRank ()
 

Detailed Description

Extracts the mathematical rank of an expression (i.e. the number of dimensions) based on its type

Member Function Documentation

◆ getRank() [1/2]

template<typename Coords , std::enable_if_t< std::is_array_v< Coords >, int > = 0>
KOKKOS_INLINE_FUNCTION static constexpr unsigned ippl::ExtractExpressionRank::getRank ( )
inlinestaticconstexpr

Extracts the extent of an array-like expression

Template Parameters
Coordsthe array type
Returns
The array's rank

◆ getRank() [2/2]

template<typename Coords , std::enable_if_t< std::is_class_v< Coords >, int > = 0>
KOKKOS_INLINE_FUNCTION static constexpr unsigned ippl::ExtractExpressionRank::getRank ( )
inlinestaticconstexpr

Extracts the rank of an expression type

Template Parameters
Coordsthe expression type that evaluates to a set of coordinates
Returns
The number of dimensions in the expression

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