TiledArray  0.7.0
TiledArray::detail::transform< T > Struct Template Reference

customization point transform functionality to tensor class T, useful for nonintrusive extension of T to be usable as tensor type T in Tensor<T> More...

#include <kernels.h>

Public Member Functions

template<typename Op , typename Tensor , typename ... Tensors>
operator() (Op &&op, Tensor &&tensor, Tensors &&... tensors) const
 creates a result tensor in which element i is obtained by op(tensor[i], tensors[i]...) More...
 
template<typename Op , typename Tensor , typename ... Tensors>
void operator() (T &result, Op &&op, Tensor &&tensor, Tensors &&... tensors) const
 
template<typename Op , typename Tensor , typename ... Tensors>
operator() (Op &&op, const Permutation &perm, Tensor &&tensor, Tensors &&... tensors) const
 
template<typename Op , typename Tensor , typename ... Tensors>
void operator() (T &result, Op &&op, const Permutation &perm, Tensor &&tensor, Tensors &&... tensors) const
 

Detailed Description

template<typename T>
struct TiledArray::detail::transform< T >

customization point transform functionality to tensor class T, useful for nonintrusive extension of T to be usable as tensor type T in Tensor<T>

provides transform functionality to class T, useful for nonintrusive extension of T to be usable as tensor type T in Tensor<T>

Definition at line 41 of file kernels.h.

Member Function Documentation

◆ operator()() [1/4]

template<typename T >
template<typename Op , typename Tensor , typename ... Tensors>
T TiledArray::detail::transform< T >::operator() ( Op &&  op,
Tensor &&  tensor,
Tensors &&...  tensors 
) const
inline

creates a result tensor in which element i is obtained by op(tensor[i], tensors[i]...)

Definition at line 93 of file kernels.h.

Here is the call graph for this function:

◆ operator()() [2/4]

template<typename T >
template<typename Op , typename Tensor , typename ... Tensors>
void TiledArray::detail::transform< T >::operator() ( T &  result,
Op &&  op,
Tensor &&  tensor,
Tensors &&...  tensors 
) const
inline

an in-place version of above

Note
result must be already allocated

Definition at line 106 of file kernels.h.

Here is the call graph for this function:

◆ operator()() [3/4]

template<typename T >
template<typename Op , typename Tensor , typename ... Tensors>
T TiledArray::detail::transform< T >::operator() ( Op &&  op,
const Permutation perm,
Tensor &&  tensor,
Tensors &&...  tensors 
) const
inline

Definition at line 118 of file kernels.h.

Here is the call graph for this function:

◆ operator()() [4/4]

template<typename T >
template<typename Op , typename Tensor , typename ... Tensors>
void TiledArray::detail::transform< T >::operator() ( T &  result,
Op &&  op,
const Permutation perm,
Tensor &&  tensor,
Tensors &&...  tensors 
) const
inline

Definition at line 132 of file kernels.h.

Here is the call graph for this function:

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