GEOSX
Classes | Namespaces | Functions
indexing.hpp File Reference

Contains functions to aid in multidimensional indexing. More...

#include "Macros.hpp"
#include "typeManipulation.hpp"
#include "limits.hpp"
#include <RAJA/RAJA.hpp>

Go to the source code of this file.

Classes

struct  LvArray::indexing::ConditionalMultiply< B_IS_ONE >
 A helper struct to multiply two numbers. More...
 
struct  LvArray::indexing::ConditionalMultiply< true >
 A specialization of ConditionalMultiply that skips the multiplication. More...
 

Namespaces

 LvArray
 The top level namespace.
 
 LvArray::indexing
 Contains functions to aid in multidimensional indexing.
 

Functions

template<int SIZE, typename T >
constexpr std::enable_if_t<(SIZE==1), T > LvArray::indexing::multiplyAll (T const *const LVARRAY_RESTRICT values)
 
template<int SIZE, typename T >
constexpr std::enable_if_t<(SIZE > 1), T > LvArray::indexing::multiplyAll (T const *const LVARRAY_RESTRICT values)
 
template<int USD, typename INDEX_TYPE , typename INDEX >
constexpr INDEX_TYPE LvArray::indexing::getLinearIndex (INDEX_TYPE const *const LVARRAY_RESTRICT strides, INDEX const index)
 Get the index into a one dimensional space. More...
 
template<int USD, typename INDEX_TYPE , typename INDEX , typename ... REMAINING_INDICES>
constexpr INDEX_TYPE LvArray::indexing::getLinearIndex (INDEX_TYPE const *const LVARRAY_RESTRICT strides, INDEX const index, REMAINING_INDICES const ... indices)
 Get the index into a a multidimensional space. More...
 
std::string LvArray::indexing::getIndexString ()
 
template<typename INDEX , typename ... REMAINING_INDICES>
std::string LvArray::indexing::getIndexString (INDEX const index, REMAINING_INDICES const ... indices)
 
template<typename INDEX_TYPE , typename ... INDICES>
std::string LvArray::indexing::printDimsAndIndices (INDEX_TYPE const *const LVARRAY_RESTRICT dims, INDICES const ... indices)
 
template<typename INDEX_TYPE , typename ... INDICES>
constexpr bool LvArray::indexing::invalidIndices (INDEX_TYPE const *const LVARRAY_RESTRICT dims, INDICES const ... indices)
 
template<typename INDEX_TYPE , typename ... INDICES>
void LvArray::indexing::checkIndices (INDEX_TYPE const *const LVARRAY_RESTRICT dims, INDICES const ... indices)
 Check that the indices are with dims , if not the program is aborted. More...
 

Detailed Description

Contains functions to aid in multidimensional indexing.

Definition in file indexing.hpp.