|
OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
|
Concepts | |
| concept | HasMemberValueType |
Typedefs | |
| typedef std::size_t | size_type |
| template<typename MemorySpace > | |
| using | hash_type = typename detail::ViewType< int, 1, MemorySpace >::view_type |
| template<bool B, typename T > | |
| using | ConditionalType = std::conditional_t< B, T, void > |
| template<typename... Types> | |
| using | VariantFromConditionalTypes = typename ConstructVariant< std::variant< Types... >, std::variant<>, IsEnabled >::type |
| template<typename... Types> | |
| using | VariantFromUniqueTypes = typename ConstructVariant< std::variant< Types... >, std::variant<>, IsUnique >::type |
| template<template< typename... > class Verifier, typename... Types> | |
| using | VariantWithVerifier = typename ConstructVariant< std::variant< Types... >, std::variant<>, Verifier >::type |
Enumerations | |
| enum | e_functor_type { FOR , REDUCE , SCAN } |
Functions | |
| template<typename Field > | |
| std::ostream & | operator<< (std::ostream &, const BCondBase< Field > &) |
| bool | isUpper (unsigned int face) |
| unsigned int | getFaceDim (unsigned int face) |
| KOKKOS_INLINE_FUNCTION constexpr unsigned int | countHypercubes (unsigned int dim) |
| constexpr unsigned int | factorial (unsigned x) |
| constexpr unsigned int | binomialCoefficient (unsigned a, unsigned b) |
| template<unsigned Dim> | |
| constexpr unsigned int | countCubes (unsigned m) |
| template<unsigned Dim> | |
| unsigned int | indexToFace (unsigned int index) |
| template<unsigned Dim, typename... CubeTags, typename = std::enable_if_t<sizeof...(CubeTags) == Dim - 1>, typename = std::enable_if_t<std::conjunction_v<std::is_same<e_cube_tag, CubeTags>...>>> | |
| unsigned int | getCube (e_cube_tag tag, CubeTags... tags) |
| template<size_t... Idx> | |
| unsigned int | getFace_impl (const std::array< e_cube_tag, sizeof...(Idx)> &args, const std::index_sequence< Idx... > &) |
| template<unsigned Dim> | |
| unsigned int | getFace (unsigned int axis, e_cube_tag side) |
| template<unsigned long Point, unsigned long Index, typename Weights > | |
| KOKKOS_INLINE_FUNCTION constexpr Weights::value_type | interpolationWeight (const Weights &wlo, const Weights &whi) |
| template<unsigned long Point, unsigned long Index, typename Indices > | |
| KOKKOS_INLINE_FUNCTION constexpr Indices::value_type | interpolationIndex (const Indices &args) |
| template<unsigned long ScatterPoint, unsigned long... Index, typename View , typename T , typename IndexType = size_t> | |
| KOKKOS_INLINE_FUNCTION constexpr void | scatterToPoint (const std::index_sequence< Index... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args, const T &val) |
| template<unsigned long... ScatterPoint, typename View , typename T , typename IndexType = size_t> | |
| KOKKOS_INLINE_FUNCTION constexpr void | scatterToField (const std::index_sequence< ScatterPoint... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args, T val=1) |
| template<unsigned long GatherPoint, unsigned long... Index, typename View , typename T , typename IndexType = size_t> | |
| KOKKOS_INLINE_FUNCTION constexpr View::value_type | gatherFromPoint (const std::index_sequence< Index... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args) |
| template<unsigned long... GatherPoint, typename View , typename T , typename IndexType = size_t> | |
| KOKKOS_INLINE_FUNCTION constexpr View::value_type | gatherFromField (const std::index_sequence< GatherPoint... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args) |
| bool | checkOption (const char *arg, const char *lstr, const char *sstr) |
| template<typename T , typename > | |
| T | getNumericalOption (const char *arg) |
| template<typename ParticleContainer , typename index_type > | |
| void | copyAttributes (ParticleContainer &pc, const index_type &boundaryIndices) |
| template<typename ParticleContainer , typename index_type > | |
| void | sortParticles (ParticleContainer &pc, const index_type &newIndex) |
| template<typename T , unsigned Dim, class Mesh > | |
| std::ostream & | operator<< (std::ostream &, const RegionLayout< T, Dim, Mesh > &) |
| template<typename T , unsigned Dim, class Mesh , class... Properties> | |
| std::ostream & | operator<< (std::ostream &out, const RegionLayout< T, Dim, Mesh > &rl) |
| template<e_functor_type Type, typename Policy , typename... Acc, typename Functor > | |
| auto | functorize (const Functor &f) |
| template<typename Functor > | |
| void | runForAllSpaces (Functor &&f) |
| template<unsigned Dim, unsigned Current = 0, class BeginFunctor , class EndFunctor , class Functor , typename Check = std::nullptr_t> | |
| constexpr void | nestedLoop (BeginFunctor &&begin, EndFunctor &&end, Functor &&body, Check &&check=nullptr) |
| template<typename View , class Functor , typename Check = std::nullptr_t> | |
| constexpr void | nestedViewLoop (View &view, int shift, Functor &&body, Check &&check=nullptr) |
| template<typename T , unsigned Dim, class... Properties> | |
| void | write (const typename ViewType< T, Dim, Properties... >::view_type &view, std::ostream &out=std::cout) |
| template<typename View , size_t... Idx> | |
| decltype(auto) | shrinkView_impl (std::string label, const View &view, int nghost, const std::index_sequence< Idx... > &) |
| template<typename View > | |
| decltype(auto) | shrinkView (std::string label, const View &view, int nghost) |
| struct ippl::detail::ConstructVariant |
Base struct declaration (see full declaration below for details)
Definition at line 75 of file TypeUtils.h.

| struct ippl::detail::ConstructVariant< std::variant< Next, ToAdd... >, std::variant< Added... >, Verifier > |
Constructs a variant type containing all the provided types that fulfill a certain condition. This is done by recursively adding types to the variant based on the inclusion criteria.
The default verification struct is IsPresent defined above, which includes the type if it has not already been added to the variant before. This is useful if the provided types include duplicates, e.g. if they are type aliases that can sometimes refer to the same type. In particular, Kokkos memory spaces can sometimes have different names but refer to the same memory space. Variants do not allow duplicate types to appear in their parameter packs; each type may only appear once.
The verification struct can be user defined as long as it conforms to the variant verification struct interface. The struct must accept at least a parameter pack; the first parameter is the type currently being checked and the rest are the types already added to the variant. The struct must expose a boolean enable that indicates whether the next type should be included in the variant. The struct must also expose a type type, which is the type to be added to the variant
| Next | the next type to add to the variant |
| ToAdd... | the remaining types waiting to be added to the variant |
| Added... | the types that have already been added to the variant |
| Verifier | the variant verification struct |
Definition at line 121 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef Verifier< Next, Added... > | Check | |
| typedef conditional_t< B, T, F > | cond | |
| typedef cond< enable, typename ConstructVariant< variant< ToAdd... >, variant< typename type, Added... >, Verifier >::type, typename ConstructVariant< variant< ToAdd... >, variant< Added... >, Verifier >::type > | type | |
| typedef variant< T... > | variant | |
| struct ippl::detail::ConstructVariant< std::variant<>, std::variant< T... >, Verifier > |
Base case for a fully constructed variant
| T... | the types to be included in the variant |
Definition at line 90 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef variant< T... > | type | |
| struct ippl::detail::ConstructVariant< std::variant<>, std::variant<>, Verifier > |
Base case for variant construction with no types to add
Definition at line 81 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef variant | type | |
| struct ippl::detail::Coords |
Recursively templated struct for defining tuples with arbitrary length
| Dim | the length of the tuple |
| T | the data type to repeat (default size_t) |
Definition at line 109 of file ParallelDispatch.h.

| Class Members | ||
|---|---|---|
| typedef decltype(tuple_cat(type >(), type >())) | type | |
| struct ippl::detail::Coords< 1, T > |
Definition at line 118 of file ParallelDispatch.h.

| Class Members | ||
|---|---|---|
| typedef tuple< T > | type | |
| struct ippl::detail::CreateUniformType |
Constructs a uniform type based on Kokkos views' uniform types (i.e. a type where all optional template parameters are explicitly specified)
| Type | the type to specialize |
| View | the view type |
Definition at line 203 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef typename type | type | |
| typedef typename uniform_type | view_type | |
| struct ippl::detail::ExtractRank |
Definition at line 171 of file ParallelDispatch.h.

| struct ippl::detail::ExtractReducerReturnType |
Definition at line 186 of file ParallelDispatch.h.

| Class Members | ||
|---|---|---|
| typedef T | type | |
| struct ippl::detail::ExtractReducerReturnType< T > |
Definition at line 190 of file ParallelDispatch.h.

| Class Members | ||
|---|---|---|
| typedef typename value_type | type | |
| struct ippl::detail::Forward |
Utility struct for forwarding parameter packs (see specializations)
| Type | the templated type |
| Pack | a type containing the parameters to forward |
Definition at line 177 of file TypeUtils.h.

| struct ippl::detail::Forward< Type, Kokkos::View< T, Properties... > > |
Forwards the properties of a Kokkos view to another type
Definition at line 191 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef Type< Properties... > | type | |
| struct ippl::detail::Forward< Type, std::variant< Spaces... > > |
Forwards the types in a variant to another type
Definition at line 183 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef Type< Spaces... > | type | |
| struct ippl::detail::FunctorWrapper |
Definition at line 129 of file ParallelDispatch.h.

| struct ippl::detail::HeffteBackendType |
| struct ippl::detail::HeffteBackendType< Kokkos::HostSpace > |
Use heFFTe's inbuilt 1D fft computation on CPUs if no vendor specific or optimized backend is found.

| Class Members | ||
|---|---|---|
| typedef stock | backend | |
| typedef stock_cos | backendCos | |
| typedef stock_cos1 | backendCos1 | |
| typedef stock_sin | backendSine | |
| struct ippl::detail::NPtr |
Recursively templated struct for defining pointers with arbitrary indirection depth.
| T | data type |
| N | indirection level |
Definition at line 25 of file ViewTypes.h.

| Class Members | ||
|---|---|---|
| typedef type * | type | |
| struct ippl::detail::NPtr< T, 1 > |
Base case template specialization for a simple pointer.
Definition at line 33 of file ViewTypes.h.

| Class Members | ||
|---|---|---|
| typedef T * | type | |
| struct ippl::detail::TypeForAllSpaces |
Instantiates a parameter pack with all the available Kokkos memory spaces
Definition at line 212 of file TypeUtils.h.

| Class Members | ||
|---|---|---|
| typedef typename type | exec_spaces_type | |
| typedef typename type | memory_spaces_type | |
| typedef VariantFromUniqueTypes< DefaultExecutionSpace > | unique_exec_spaces | |
| typedef VariantFromUniqueTypes< HostSpace, SharedSpace, SharedHostPinnedSpace > | unique_memory_spaces | |
| struct ippl::detail::ViewAccess |
Access a view that either contains a vector field or a scalar field in such a way that the correct element access is determined at compile time, reducing the number of functions needed to achieve the same behavior for both kinds of fields
| tensorRank | indicates whether scalar, vector, or matrix field |
| - | the view type |
Definition at line 40 of file FFTOpenPoissonSolver.h.

| struct ippl::detail::ViewType |
View type for an arbitrary number of dimensions.
| T | view data type |
| Dim | view dimension |
| Properties | further template parameters of Kokkos |
Definition at line 44 of file ViewTypes.h.

| Class Members | ||
|---|---|---|
| typedef type, Properties... > | view_type | |
| struct ippl::detail::WrapUnique |
Defines a variant verification struct Performs the same check as IsUnique, but instead of using the provided types directly, the types are wrapped in another provided type. For example, if the wrapper type is std::shared_ptr and the types are <int, float, int>, then the final variant will allow std::shared_ptr<int> and std::shared_ptr<float>.
| Wrapper | the wrapper type |
Definition at line 39 of file TypeUtils.h.

| using ippl::detail::ConditionalType = typedef std::conditional_t<B, T, void> |
Convenience alias for types that should or should not be included in variants constructed with ConstructVariant (defined below) based on some compile-time constant
| B | whether the type should be enabled |
| T | the type |
Definition at line 56 of file TypeUtils.h.
| using ippl::detail::hash_type = typedef typename detail::ViewType<int, 1, MemorySpace>::view_type |
Definition at line 49 of file ViewTypes.h.
| typedef std::size_t ippl::detail::size_type |
Definition at line 13 of file IpplTypes.h.
| using ippl::detail::VariantFromConditionalTypes = typedef typename ConstructVariant<std::variant<Types...>, std::variant<>, IsEnabled>::type |
A variant containing all the enabled types, where "enabled" types are assumed to be void when disabled (i.e. std::conditional_t<B, T, void>)
Definition at line 146 of file TypeUtils.h.
| using ippl::detail::VariantFromUniqueTypes = typedef typename ConstructVariant<std::variant<Types...>, std::variant<>, IsUnique>::type |
A variant containing just the unique types from the pack
Definition at line 154 of file TypeUtils.h.
| using ippl::detail::VariantWithVerifier = typedef typename ConstructVariant<std::variant<Types...>, std::variant<>, Verifier>::type |
A variant containing the types enabled by a custom verifier; to implement a custom verifier, provide the following:
Definition at line 167 of file TypeUtils.h.
| Enumerator | |
|---|---|
| FOR | |
| REDUCE | |
| SCAN | |
Definition at line 122 of file ParallelDispatch.h.
|
constexpr |
Compile-time evaluation of binomial coefficients, aka elements of Pascal's triangle, aka choices from combinatorics, etc
| a | number of options |
| b | number of choices |
Definition at line 68 of file FieldLayout.h.
References factorial().
Referenced by countCubes().

| bool ippl::detail::checkOption | ( | const char * | arg, |
| const char * | lstr, | ||
| const char * | sstr | ||
| ) |
Definition at line 115 of file Ippl.cpp.
Referenced by ippl::initialize().
|
inline |
Definition at line 144 of file ParticleSpatialOverlapLayout.hpp.
References ippl::fence(), ippl::ParticleBase< PLayout, IDProperties >::getLocalNum(), runForAllSpaces(), and ippl::ParticleBase< PLayout, IDProperties >::setLocalNum().
Referenced by ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::createPeriodicGhostParticles().

|
constexpr |
Compile-time evaluation of the number of hypercubes of dimension m in a hypercube of dimension Dim
| Dim | parent hypercube dimension |
| m | sub-hypercube dimension |
Definition at line 80 of file FieldLayout.h.
References binomialCoefficient(), and Dim.

|
constexpr |
Counts the hypercubes in a given dimension
| dim | the dimension |
Definition at line 44 of file FieldLayout.h.
Referenced by ippl::FieldLayout< Dim >::findNeighbors(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::forEachPair(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::getCellNeighbors(), ippl::FieldLayout< Dim >::getMatchingIndex(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::getParticleNeighbors(), and indexToFace().
|
constexpr |
Compile-time evaluation of x!
| x | input value |
Definition at line 57 of file FieldLayout.h.
References factorial().
Referenced by binomialCoefficient(), factorial(), Multipole::setNormalComponent(), and Multipole::setSkewComponent().

| auto ippl::detail::functorize | ( | const Functor & | f | ) |
Convenience function for wrapping a functor with the wrapper struct.
| Functor | the functor type |
| Type | the parallel dispatch type |
| Policy | the range policy type |
| Acc... | the accumulator type(s) |
Definition at line 203 of file ParallelDispatch.h.
References Dim.
Referenced by ippl::parallel_reduce().
|
constexpr |
Gathers the particle attribute from a field (see scatter_field for more details)
| GatherPoint... | the indices of the points from which to gather (sequence 0 to 2^Dim) |
| View | the field view type |
| T | the field data type |
| IndexType | the index type for accessing the field (default size_t) |
| view | the field view on which to scatter |
| wlo | lower weights for interpolation |
| whi | upper weights for interpolation |
| args | the indices at which to access the field |
|
constexpr |
Gathers from a field at a single point
| GatherPoint | the index of the point from which data is gathered |
| Index | the sequence 0...Dim - 1 |
| View | the field view type |
| T | the field data type |
| IndexType | the index type for accessing the field (default size_t) |
| view | the field view on which to scatter |
| wlo | lower weights for interpolation |
| whi | upper weights for interpolation |
| args | the indices at which to access the field |
| unsigned int ippl::detail::getCube | ( | e_cube_tag | tag, |
| CubeTags... | tags | ||
| ) |
Computes the ternary-encoded index of a hypercube
| Dim | the number of dimensions in the full hypercube |
| CubeTags... | variadic argument list, must be all e_cube_tag |
| tag(s...) | the tags describing the hypercube of interest |
Definition at line 132 of file FieldLayout.h.
References Dim, and getCube().
Referenced by getCube(), and getFace_impl().

| unsigned int ippl::detail::getFace | ( | unsigned int | axis, |
| e_cube_tag | side | ||
| ) |
Convenience alias for getCube for getting facets
| Dim | the number of dimensions in the parent hypercube |
| axis | the axis perpendicular to the facet |
| side | whether the facet is an upper or lower facet |
Definition at line 157 of file FieldLayout.h.
References getFace_impl(), and ippl::IS_PARALLEL.

| unsigned int ippl::detail::getFace_impl | ( | const std::array< e_cube_tag, sizeof...(Idx)> & | args, |
| const std::index_sequence< Idx... > & | |||
| ) |
Utility function for getFace
Definition at line 144 of file FieldLayout.h.
References getCube().
Referenced by getFace().

| unsigned int ippl::detail::getFaceDim | ( | unsigned int | face | ) |
Determine the axis perpendicular to a given facet (throws an exception if the index does not correspond to a facet)
| face | the facet's index |
Definition at line 14 of file FieldLayout.cpp.
Definition at line 120 of file Ippl.cpp.
References Physics::e.
| unsigned int ippl::detail::indexToFace | ( | unsigned int | index | ) |
Converts between ternary encoding and face set indexing
| Dim | the number of dimensions |
| index | the ternary-encoded index of a facet in [0, 3^Dim) |
Definition at line 110 of file FieldLayout.h.
References countHypercubes(), and Dim.

|
constexpr |
|
constexpr |
Computes the weight for a given point for a given axial direction
| wlo | lower weights for interpolation |
| whi | upper weights for interpolation |
| bool ippl::detail::isUpper | ( | unsigned int | face | ) |
Determines whether a facet is on the upper boundary of its domain. For lower dimension hypercubes, determines whether the component is on the upper boundary of the domain along at least one axis
| face | the hypercube's index |
Definition at line 5 of file FieldLayout.cpp.
Referenced by ippl::detail::ParticleLayout< T, Dim, PositionProperties >::applyBC().
|
constexpr |
Expands into a nested loop via templating Source: https://stackoverflow.com/questions/34535795/n-dimensionally-nested-metaloops-with-templates
| Dim | the number of nested levels |
| BeginFunctor | functor type for determining the start index of each loop |
| EndFunctor | functor type for determining the end index of each loop |
| Functor | functor type for the loop body |
| Check | functor type for loop check |
| begin | a functor that returns the starting index for each level of the loop |
| end | a functor that returns the ending index (exclusive) for each level of the loop |
| body | a functor to be called in each iteration of the loop with the indices as arguments |
| check | a check function to be run after each loop; takes the current axis as an argument (default none) |
Definition at line 33 of file ViewUtils.h.
References begin(), Dim, and end().

|
constexpr |
Convenience function for nested looping through a view
| View | the view type |
| Functor | the loop body functor type |
| Check | functor type for loop check |
| view | the view |
| shift | the number of ghost cells |
| body | the functor to be called in each iteration |
| check | a check function to be run after each loop; takes the current axis as an argument (default none) |
Definition at line 62 of file ViewUtils.h.
Referenced by write().
|
inline |
Definition at line 28 of file BcTypes.hpp.
References ippl::detail::BCondBase< Field >::write().

| std::ostream & ippl::detail::operator<< | ( | std::ostream & | , |
| const RegionLayout< T, Dim, Mesh > & | |||
| ) |
| std::ostream & ippl::detail::operator<< | ( | std::ostream & | out, |
| const RegionLayout< T, Dim, Mesh > & | rl | ||
| ) |
Definition at line 125 of file RegionLayout.hpp.
References ippl::detail::RegionLayout< T, Dim, Mesh, Properties >::write().

| void ippl::detail::runForAllSpaces | ( | Functor && | f | ) |
Performs an action for all memory spaces
| Functor | the functor type |
| f | a functor object whose call operator takes a memory space as a template parameter |
Definition at line 428 of file TypeUtils.h.
Referenced by copyAttributes(), ippl::ParticleBase< PLayout, IDProperties >::getAttributeNum(), ippl::ParticleBase< PLayout, IDProperties >::internalDestroy(), ippl::ParticleBase< PLayout, IDProperties >::pack(), ippl::ParticleBase< PLayout, IDProperties >::recvFromRank(), sortParticles(), and ippl::ParticleBase< PLayout, IDProperties >::unpack().
|
constexpr |
Scatters the particle attribute to the field.
The coordinates to which an attribute must be scattered is given by 2^n, where n is the number of dimensions. Example: the point (x, y) is scattered to (x, y), (x - 1, y), (x, y - 1), and (x - 1, y - 1). In other words, for each coordinate, we choose between the unchanged coordinate and a neighboring value. We can identify each point to which the attribute is scattered by interpreting this set of choices as a binary number.
| ScatterPoint... | the indices of the points to which to scatter (sequence 0 to 2^Dim) |
| View | the field view type |
| T | the field data type |
| IndexType | the index type for accessing the field (default size_t) |
| view | the field view on which to scatter |
| wlo | lower weights for interpolation |
| whi | upper weights for interpolation |
| args | the indices at which to access the field |
| val | the value to interpolate |
Definition at line 47 of file CIC.hpp.
Referenced by ippl::OrthogonalRecursiveBisection< Field, Tp >::scatterR().
|
constexpr |
Scatters to a field at a single point
| ScatterPoint | the index of the point to which we are scattering |
| Index | the sequence 0...Dim - 1 |
| View | the field view type |
| T | the field data type |
| IndexType | the index type for accessing the field (default size_t) |
| view | the field view on which to scatter |
| wlo | lower weights for interpolation |
| whi | upper weights for interpolation |
| args | the indices at which to access the field |
| val | the value to interpolate |
| decltype(auto) ippl::detail::shrinkView | ( | std::string | label, |
| const View & | view, | ||
| int | nghost | ||
| ) |
Constructs a new view with size equal to that of the given view, minus the ghost cells (used for heFFTe, which expects the data to have a certain layout and no ghost cells)
| label | the new view's name |
| view | the view to shrink |
| nghost | the number of ghost cells on the view's boundary |
Definition at line 122 of file ViewUtils.h.
References shrinkView_impl().
Referenced by ippl::FFT< CCTransform, ComplexField >::transform(), ippl::FFT< SineTransform, Field >::transform(), ippl::FFT< CosTransform, Field >::transform(), ippl::FFT< Cos1Transform, Field >::transform(), and ippl::FFT< RCTransform, RealField >::transform().

| decltype(auto) ippl::detail::shrinkView_impl | ( | std::string | label, |
| const View & | view, | ||
| int | nghost, | ||
| const std::index_sequence< Idx... > & | |||
| ) |
Utility function for shrinkView
Definition at line 106 of file ViewUtils.h.
Referenced by shrinkView().
|
inline |
Definition at line 804 of file ParticleSpatialOverlapLayout.hpp.
References ippl::fence(), and runForAllSpaces().
Referenced by ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::buildCells().

| void ippl::detail::write | ( | const typename ViewType< T, Dim, Properties... >::view_type & | view, |
| std::ostream & | out = std::cout |
||
| ) |
Writes a view to an output stream
| T | view data type |
| Dim | view dimension |
| Properties | further template parameters of Kokkos |
| view | to write |
| out | stream |
Definition at line 84 of file ViewUtils.h.
References Dim, endl(), and nestedViewLoop().
