TiledArray  0.7.0
TiledArray::detail::ShiftWrapper< T > Class Template Reference

Shift wrapper class. More...

#include <shift_wrapper.h>

Public Types

typedef ShiftWrapper< T > ShiftWrapper_
 
typedef std::remove_const< T >::type tensor_type
 
typedef tensor_type::value_type value_type
 
typedef tensor_type::size_type size_type
 
typedef tensor_type::range_type range_type
 
typedef tensor_type::reference reference
 
typedef tensor_type::const_reference const_reference
 
typedef tensor_type::pointer pointer
 
typedef tensor_type::const_pointer const_pointer
 

Public Member Functions

 ShiftWrapper ()=delete
 
 ShiftWrapper (const ShiftWrapper &)=default
 
 ShiftWrapper (ShiftWrapper &&)=default
 
 ~ShiftWrapper ()=default
 
ShiftWrapperoperator= (const ShiftWrapper &)=delete
 
ShiftWrapperoperator= (ShiftWrapper &&)=delete
 
 ShiftWrapper (T &tensor)
 
template<typename U >
ShiftWrapper< T > & operator= (U &&other)
 Assignment operator. More...
 
T & get () const
 Tensor accessor. More...
 
decltype(auto) range () const
 Tensor type conversion operator. More...
 
decltype(auto) data () const
 Tensor data pointer accessor. More...
 
decltype(auto) empty () const
 Check for an empty tensor. More...
 

Detailed Description

template<typename T>
class TiledArray::detail::ShiftWrapper< T >

Shift wrapper class.

This object is used to disable the global range checks for tensor objects in various arithmetic operations. The interface of this object is the minimum required

Definition at line 41 of file shift_wrapper.h.

Member Typedef Documentation

◆ const_pointer

template<typename T>
typedef tensor_type::const_pointer TiledArray::detail::ShiftWrapper< T >::const_pointer

Definition at line 51 of file shift_wrapper.h.

◆ const_reference

template<typename T>
typedef tensor_type::const_reference TiledArray::detail::ShiftWrapper< T >::const_reference

Definition at line 49 of file shift_wrapper.h.

◆ pointer

template<typename T>
typedef tensor_type::pointer TiledArray::detail::ShiftWrapper< T >::pointer

Definition at line 50 of file shift_wrapper.h.

◆ range_type

template<typename T>
typedef tensor_type::range_type TiledArray::detail::ShiftWrapper< T >::range_type

Definition at line 47 of file shift_wrapper.h.

◆ reference

template<typename T>
typedef tensor_type::reference TiledArray::detail::ShiftWrapper< T >::reference

Definition at line 48 of file shift_wrapper.h.

◆ ShiftWrapper_

template<typename T>
typedef ShiftWrapper<T> TiledArray::detail::ShiftWrapper< T >::ShiftWrapper_

Definition at line 43 of file shift_wrapper.h.

◆ size_type

template<typename T>
typedef tensor_type::size_type TiledArray::detail::ShiftWrapper< T >::size_type

Definition at line 46 of file shift_wrapper.h.

◆ tensor_type

template<typename T>
typedef std::remove_const<T>::type TiledArray::detail::ShiftWrapper< T >::tensor_type

Definition at line 44 of file shift_wrapper.h.

◆ value_type

template<typename T>
typedef tensor_type::value_type TiledArray::detail::ShiftWrapper< T >::value_type

Definition at line 45 of file shift_wrapper.h.

Constructor & Destructor Documentation

◆ ShiftWrapper() [1/4]

template<typename T>
TiledArray::detail::ShiftWrapper< T >::ShiftWrapper ( )
delete

◆ ShiftWrapper() [2/4]

template<typename T>
TiledArray::detail::ShiftWrapper< T >::ShiftWrapper ( const ShiftWrapper< T > &  )
default

◆ ShiftWrapper() [3/4]

template<typename T>
TiledArray::detail::ShiftWrapper< T >::ShiftWrapper ( ShiftWrapper< T > &&  )
default

◆ ~ShiftWrapper()

template<typename T>
TiledArray::detail::ShiftWrapper< T >::~ShiftWrapper ( )
default

◆ ShiftWrapper() [4/4]

template<typename T>
TiledArray::detail::ShiftWrapper< T >::ShiftWrapper ( T &  tensor)
inline

Definition at line 67 of file shift_wrapper.h.

Member Function Documentation

◆ data()

template<typename T>
decltype(auto) TiledArray::detail::ShiftWrapper< T >::data ( ) const
inline

Tensor data pointer accessor.

Returns
A pointer to the tensor data

Definition at line 103 of file shift_wrapper.h.

◆ empty()

template<typename T>
decltype(auto) TiledArray::detail::ShiftWrapper< T >::empty ( ) const
inline

Check for an empty tensor.

Returns
true if the tensor is empty, otherwise false.

Definition at line 108 of file shift_wrapper.h.

◆ get()

template<typename T>
T& TiledArray::detail::ShiftWrapper< T >::get ( ) const
inline

Tensor accessor.

Returns
A reference to the wrapped tensor

Definition at line 88 of file shift_wrapper.h.

◆ operator=() [1/3]

template<typename T>
ShiftWrapper& TiledArray::detail::ShiftWrapper< T >::operator= ( const ShiftWrapper< T > &  )
delete

◆ operator=() [2/3]

template<typename T>
ShiftWrapper& TiledArray::detail::ShiftWrapper< T >::operator= ( ShiftWrapper< T > &&  )
delete

◆ operator=() [3/3]

template<typename T>
template<typename U >
ShiftWrapper<T>& TiledArray::detail::ShiftWrapper< T >::operator= ( U &&  other)
inline

Assignment operator.

This assignment operator is a simple pass through assignment to the tensor object. It handles both copy and move assignments

Template Parameters
UThe right-hand argument type
Parameters
otherThe right-hand argument
Returns
A reference to this object

Definition at line 77 of file shift_wrapper.h.

Here is the call graph for this function:

◆ range()

template<typename T>
decltype(auto) TiledArray::detail::ShiftWrapper< T >::range ( ) const
inline

Tensor type conversion operator.

Returns
A reference to the wrapped tensor Tensor range accessor
a const reference to the tensor range object

Definition at line 98 of file shift_wrapper.h.

Here is the caller graph for this function:

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