tensor_map.h File Reference
#include <initializer_list>
#include <type_traits>
#include <TiledArray/range.h>
#include <TiledArray/tensor/type_traits.h>
Include dependency graph for tensor_map.h:
This graph shows which files directly or indirectly include this file:

Namespaces

 TiledArray
 
 TiledArray::detail
 

Typedefs

template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>>
using TiledArray::TensorMap = detail::TensorInterface< T, Range_, OpResult >
 
template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>>
using TiledArray::TensorConstMap = detail::TensorInterface< typename std::add_const< T >::type, Range_, OpResult >
 

Functions

template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>, typename Index >
TensorMap< T, Range_, OpResult > TiledArray::make_map (T *const data, const Index &lower_bound, const Index &upper_bound)
 
template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>>
TensorMap< T, Range_, OpResult > TiledArray::make_map (T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound)
 
template<typename T , typename Range_ , typename OpResult = Tensor<T>>
TensorMap< T, std::decay_t< Range_ >, OpResult > TiledArray::make_map (T *const data, Range_ &&range)
 
template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>, typename Index >
TensorConstMap< T, Range_, OpResult > TiledArray::make_map (const T *const data, const Index &lower_bound, const Index &upper_bound)
 
template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>>
TensorConstMap< T, Range_, OpResult > TiledArray::make_map (const T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound)
 
template<typename T , typename Range_ , typename OpResult = Tensor<T>>
TensorConstMap< T, std::decay_t< Range_ >, OpResult > TiledArray::make_map (const T *const data, Range_ &&range)
 
template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>, typename Index >
TensorConstMap< T, Range_, OpResult > TiledArray::make_const_map (const T *const data, const Index &lower_bound, const Index &upper_bound)
 
template<typename T , typename Range_ = Range, typename OpResult = Tensor<T>>
TensorConstMap< T, Range_, OpResult > TiledArray::make_const_map (const T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound)
 
template<typename T , typename Range_ , typename OpResult = Tensor<T>>
TensorConstMap< T, std::decay_t< Range_ >, OpResult > TiledArray::make_const_map (const T *const data, Range_ &&range)
 
template<typename T , typename Range_ , typename OpResult = Tensor<T>, typename Index >
TensorConstMap< T, Range_, OpResult > TiledArray::make_const_map (T *const data, const Index &lower_bound, const Index &upper_bound)
 
template<typename T , typename Range_ , typename OpResult = Tensor<T>>
TensorConstMap< T, Range_, OpResult > TiledArray::make_const_map (T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound)
 
template<typename T , typename Range_ , typename OpResult = Tensor<T>>
TensorConstMap< T, std::decay_t< Range_ >, OpResult > TiledArray::make_const_map (T *const data, Range_ &&range)
 
template<typename T , typename Range_ , typename OpResult , typename Index1 , typename Index2 >
void TiledArray::remap (TensorMap< T, Range_, OpResult > &map, T *const data, const Index1 &lower_bound, const Index2 &upper_bound)
 For reusing map without allocating new ranges . . . maybe. More...
 
template<typename T , typename Range_ , typename OpResult , typename Index1 , typename Index2 , typename = std::enable_if_t<!std::is_const<T>::value>>
void TiledArray::remap (TensorConstMap< T, Range_, OpResult > &map, T *const data, const Index1 &lower_bound, const Index2 &upper_bound)
 
template<typename T , typename Range_ , typename OpResult , typename Index1 , typename Index2 >
void TiledArray::remap (TensorMap< T, Range_, OpResult > &map, T *const data, const std::initializer_list< Index1 > &lower_bound, const std::initializer_list< Index2 > &upper_bound)
 
template<typename T , typename Range_ , typename OpResult , typename Index1 , typename Index2 , typename = std::enable_if_t<!std::is_const<T>::value>>
void TiledArray::remap (TensorConstMap< T, Range_, OpResult > &map, T *const data, const std::initializer_list< Index1 > &lower_bound, const std::initializer_list< Index2 > &upper_bound)