shift.h File Reference
#include "../type_traits.h"
#include "cast.h"
Include dependency graph for shift.h:
This graph shows which files directly or indirectly include this file:

Classes

class  TiledArray::tile_interface::Shift< Result, Arg, Enabler >
 
class  TiledArray::tile_interface::Shift< Result, Arg, typename std::enable_if< !std::is_same< Result, result_of_shift_t< Arg > >::value >::type >
 
class  TiledArray::tile_interface::ShiftTo< Result, Arg, Enabler >
 
class  TiledArray::tile_interface::ShiftTo< Result, Arg, typename std::enable_if<!std::is_same< Result, result_of_shift_to_t< Arg > >::value >::type >
 
struct  TiledArray::tile_interface::shift_trait< Arg, Enabler >
 
struct  TiledArray::tile_interface::shift_trait< Arg, typename std::enable_if< TiledArray::detail::is_type< result_of_shift_t< Arg > >::value >::type >
 
class  TiledArray::Shift< Result, Arg >
 Shift the range of tile. More...
 
class  TiledArray::ShiftTo< Result, Arg >
 Shift the range of tile in place. More...
 

Namespaces

 TiledArray
 
 TiledArray::tile_interface
 

Typedefs

template<typename T >
using TiledArray::tile_interface::result_of_shift_t = typename std::decay< decltype(shift(std::declval< T >(), std::declval< std::vector< long > >()))>::type
 
template<typename T >
using TiledArray::tile_interface::result_of_shift_to_t = typename std::decay< decltype(shift_to(std::declval< T >(), std::declval< std::vector< long > >()))>::type
 

Functions

template<typename Arg , typename Index , typename = std::enable_if_t<detail::is_integral_range_v<Index>>>
auto TiledArray::shift (const Arg &arg, const Index &range_shift)
 Shift the range of arg. More...
 
template<typename Arg , typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>>
auto TiledArray::shift (const Arg &arg, const std::initializer_list< Index > &range_shift)
 Shift the range of arg. More...
 
template<typename Arg , typename Index , typename = std::enable_if_t<detail::is_integral_range_v<Index>>>
auto TiledArray::shift_to (Arg &arg, const Index &range_shift)
 Shift the range of arg in place. More...
 
template<typename Arg , typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>>
auto TiledArray::shift_to (Arg &arg, const std::initializer_list< Index > &range_shift)
 Shift the range of arg in place. More...