LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
TensorIndices.h File Reference

TensorIndices class to flatten multi-dimension indices into linear. More...

#include <cstddef>
#include <stdexcept>
#include <string>
#include <type_traits>

Go to the source code of this file.

Classes

struct  util::TensorIndicesBasicTypes
 Types for TensorIndices class. More...
 
class  util::TensorIndices< RANK >
 Converts a tensor element specification into a linear index. More...
 
struct  util::details::ExtractTensorDimension< RANK, DIM >
 
class  util::TensorIndices< 1U >
 
class  util::TensorIndices< RANK >
 Converts a tensor element specification into a linear index. More...
 
struct  util::details::ExtractTensorDimension< RANK, DIM >
 
struct  util::details::ExtractTensorDimension< RANK, 0U >
 

Namespaces

 util
 Namespace for general, non-LArSoft-specific utilities.
 
 util::details
 

Typedefs

using util::MatrixIndices = TensorIndices< 2U >
 Type for indexing a 2D-tensor (matrix) More...
 

Functions

template<unsigned int RANK1, unsigned int RANK2, typename = std::enable_if_t<(RANK1 != RANK2), bool>>
bool util::operator== (TensorIndices< RANK1 > const &a, TensorIndices< RANK2 > const &b)
 Comparison operator with tensors of different rank. More...
 
template<unsigned int RANK1, unsigned int RANK2, typename = std::enable_if_t<(RANK1 != RANK2), bool>>
bool util::operator!= (TensorIndices< RANK1 > const &a, TensorIndices< RANK2 > const &b)
 Comparison operator with tensors of different rank. More...
 
template<typename... DIMS>
auto util::makeTensorIndices (DIMS...dims)
 Instantiates a TensorIndices class with the specified dimensions. More...
 

Detailed Description

TensorIndices class to flatten multi-dimension indices into linear.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov)
Date
June 28, 2016

This header provides:

This is a pure header that contains only template classes.

Definition in file TensorIndices.h.