TiledArray::detail::Shift< Result, Arg, Consumable > Class Template Reference
Documentation
template<typename Result, typename Arg, bool Consumable>
class TiledArray::detail::Shift< Result, Arg, Consumable >
Tile shift operation.
This tile operation will shift the range of the tile and/or apply a permutation to the result tensor.
- Template Parameters
-
Result The tile result type Arg The argument type Consumable If true
, the tile is a temporary and may be consumed
- Note
- Input tiles can be consumed only if their type matches the result type.
Public Types | |
typedef Shift< Result, Arg, Consumable > | Shift_ |
This object type. More... | |
typedef Arg | argument_type |
The argument type. More... | |
typedef Result | result_type |
The result tile type. More... | |
Public Member Functions | |
Shift ()=delete | |
Shift (const Shift_ &)=default | |
Shift (Shift_ &&)=default | |
~Shift ()=default | |
Shift & | operator= (const Shift_ &)=default |
Shift & | operator= (Shift_ &&)=default |
Shift (const std::vector< long > &range_shift) | |
Default constructor. More... | |
template<typename Perm , typename = std::enable_if_t< TiledArray::detail::is_permutation_v<Perm>>> | |
result_type | operator() (const argument_type &arg, const Perm &perm) const |
Shift and permute operator. More... | |
template<typename A > | |
result_type | operator() (A &&arg) const |
Consuming shift operation. More... | |
template<typename A > | |
result_type | consume (A &arg) const |
Explicit consuming shift operation. More... | |
Static Public Attributes | |
static constexpr bool | is_consumable |
Indicates whether it is possible to consume the left tile. More... | |
Member Typedef Documentation
◆ argument_type
template<typename Result , typename Arg , bool Consumable>
typedef Arg TiledArray::detail::Shift< Result, Arg, Consumable >::argument_type |
◆ result_type
template<typename Result , typename Arg , bool Consumable>
typedef Result TiledArray::detail::Shift< Result, Arg, Consumable >::result_type |
◆ Shift_
template<typename Result , typename Arg , bool Consumable>
typedef Shift<Result, Arg, Consumable> TiledArray::detail::Shift< Result, Arg, Consumable >::Shift_ |
Constructor & Destructor Documentation
◆ Shift() [1/4]
template<typename Result , typename Arg , bool Consumable>
|
delete |
◆ Shift() [2/4]
template<typename Result , typename Arg , bool Consumable>
|
default |
◆ Shift() [3/4]
template<typename Result , typename Arg , bool Consumable>
|
default |
◆ ~Shift()
template<typename Result , typename Arg , bool Consumable>
|
default |
◆ Shift() [4/4]
template<typename Result , typename Arg , bool Consumable>
|
inline |
Member Function Documentation
◆ consume()
template<typename Result , typename Arg , bool Consumable>
template<typename A >
|
inline |
◆ operator()() [1/2]
template<typename Result , typename Arg , bool Consumable>
template<typename A >
|
inline |
◆ operator()() [2/2]
template<typename Result , typename Arg , bool Consumable>
template<typename Perm , typename = std::enable_if_t< TiledArray::detail::is_permutation_v<Perm>>>
|
inline |
◆ operator=() [1/2]
template<typename Result , typename Arg , bool Consumable>
|
default |
◆ operator=() [2/2]
template<typename Result , typename Arg , bool Consumable>
|
default |
Member Data Documentation
◆ is_consumable
template<typename Result , typename Arg , bool Consumable>
|
staticconstexpr |
The documentation for this class was generated from the following file:
- TiledArray/tile_op/shift.h