|
IPPL API Reference
Independent Parallel Particle Layer C++ API
|
Generic tuple class with various operations. More...
#include <Tuple.h>
Public Member Functions | |
|
template<std::size_t Idx> requires (Idx < sizeof...(Ts)) | |
| KOKKOS_INLINE_FUNCTION auto && | get () noexcept |
|
template<std::size_t Idx> requires (Idx < sizeof...(Ts)) | |
| KOKKOS_INLINE_FUNCTION auto && | get () const noexcept |
|
template<typename Functor , std::size_t Idx, typename... OtherTs> requires (std::is_copy_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION int | applySingle (Functor func, const Tuple< OtherTs... > &other) |
| template<typename Functor , typename... OtherTs, std::size_t... Idx> | |
| KOKKOS_INLINE_FUNCTION void | applySequence (Functor func, const Tuple< OtherTs... > &other, const std::index_sequence< Idx... > &) |
|
template<std::size_t Idx, typename... OtherTs> requires (std::is_copy_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION int | assignToSingle (const Tuple< OtherTs... > &other) |
|
template<typename... OtherTs, std::size_t... Idx> requires (std::is_copy_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION void | assignToSequence (const Tuple< OtherTs... > &other, const std::index_sequence< Idx... > &) |
|
template<std::size_t Idx, typename... OtherTs> requires (std::is_move_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION int | assignToSingle (Tuple< OtherTs... > &&other) |
|
template<typename... OtherTs, std::size_t... Idx> requires (std::is_move_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION void | assignToSequence (Tuple< OtherTs... > &&other, const std::index_sequence< Idx... > &) |
|
template<typename... OtherTs> requires (std::is_copy_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION Tuple & | operator= (const Tuple< OtherTs... > &other) |
|
template<typename... OtherTs> requires (std::is_move_assignable_v<Ts> && ...) | |
| KOKKOS_INLINE_FUNCTION Tuple & | operator= (Tuple< OtherTs... > &&other) |
| KOKKOS_INLINE_FUNCTION Tuple & | operator+= (const Tuple &other) |
| KOKKOS_INLINE_FUNCTION Tuple & | operator-= (const Tuple &other) |
| KOKKOS_INLINE_FUNCTION Tuple & | operator*= (const Tuple &other) |
| KOKKOS_INLINE_FUNCTION Tuple & | operator/= (const Tuple &other) |
| KOKKOS_INLINE_FUNCTION Tuple | operator+ (const Tuple &other) const |
| KOKKOS_INLINE_FUNCTION Tuple | operator- (const Tuple &other) const |
| KOKKOS_INLINE_FUNCTION Tuple | operator* (const Tuple &other) const |
| KOKKOS_INLINE_FUNCTION Tuple | operator/ (const Tuple &other) const |
| template<std::size_t Idx, std::size_t N, typename... OtherTs> | |
| KOKKOS_INLINE_FUNCTION bool | lexicographicalLess (const Tuple &other) const |
| template<std::size_t Idx, std::size_t N, typename... OtherTs> | |
| KOKKOS_INLINE_FUNCTION bool | lexicographicalEquals (const Tuple &other) const |
|
template<typename... OtherTs> requires ((sizeof...(Ts) == sizeof...(OtherTs)) && (std::totally_ordered<Ts> && ...)) | |
| KOKKOS_INLINE_FUNCTION bool | operator< (const Tuple< OtherTs... > &other) const |
|
template<typename... OtherTs> requires ((sizeof...(Ts) == sizeof...(OtherTs)) && (std::totally_ordered<Ts> && ...)) | |
| KOKKOS_INLINE_FUNCTION bool | operator== (const Tuple< OtherTs... > &other) const |
| Tuple & | operator= (const Tuple< Ts... > &other)=default |
| Tuple & | operator= (Tuple< Ts... > &&other)=default |
| Tuple (const Tuple< Ts... > &t)=default | |
| Tuple (Tuple< Ts... > &&t)=default | |
|
template<typename... CtorTs> requires (std::constructible_from<Ts, CtorTs> && ...) | |
| KOKKOS_INLINE_FUNCTION | Tuple (CtorTs &&... args) |
Static Public Attributes | |
| static constexpr std::size_t | dim = sizeof...(Ts) |
| static constexpr std::size_t | size = sizeof...(Ts) |
Generic tuple class with various operations.
| Ts | Types of elements in the Tuple. |