add.h File Reference
Include dependency graph for add.h:
This graph shows which files directly or indirectly include this file:

Classes

class  TiledArray::tile_interface::Add< Result, Left, Right, Enabler >
 
class  TiledArray::tile_interface::Add< Result, Left, Right, typename std::enable_if<!(std::is_same< Result, result_of_add_t< Left, Right >>::value &&std::is_same< Result, result_of_add_t< Left, Right, BipartitePermutation >>::value)>::type >
 
class  TiledArray::tile_interface::ScalAdd< Result, Left, Right, Scalar, Enabler >
 
class  TiledArray::tile_interface::ScalAdd< Result, Left, Right, Scalar, typename std::enable_if<!(std::is_same< Result, result_of_add_t< Left, Right, Scalar >>::value &&std::is_same< Result, result_of_add_t< Left, Right, Scalar, BipartitePermutation >>::value)>::type >
 
class  TiledArray::tile_interface::AddTo< Result, Left, Right, Enabler >
 
class  TiledArray::tile_interface::AddTo< Result, Left, Right, typename std::enable_if<!std::is_same< Result, result_of_add_to_t< Left, Right > >::value >::type >
 
class  TiledArray::tile_interface::ScalAddTo< Result, Left, Right, Scalar, Enabler >
 
class  TiledArray::tile_interface::ScalAddTo< Result, Left, Right, Scalar, typename std::enable_if<!std::is_same< Result, result_of_add_to_t< Left, Right, Scalar > >::value >::type >
 
class  TiledArray::Add< Result, Left, Right >
 Add tile operation. More...
 
class  TiledArray::ScalAdd< Result, Left, Right, Scalar >
 Add tile operation. More...
 
class  TiledArray::AddTo< Result, Left, Right >
 Add-to tile operation. More...
 
class  TiledArray::ScalAddTo< Result, Left, Right, Scalar >
 Add-to and scale tile operation. More...
 

Namespaces

 TiledArray
 
 TiledArray::tile_interface
 

Typedefs

template<typename... T>
using TiledArray::tile_interface::result_of_add_t = decltype(add(std::declval< T >()...))
 
template<typename... T>
using TiledArray::tile_interface::result_of_add_to_t = decltype(add_to(std::declval< T >()...))
 

Functions

template<typename Left , typename Right >
auto TiledArray::add (const Left &left, const Right &right) -> decltype(left.add(right))
 Add tile arguments. More...
 
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric_v< Scalar >>::type * = nullptr>
auto TiledArray::add (const Left &left, const Right &right, const Scalar factor)
 Add and scale tile arguments. More...
 
template<typename Left , typename Right , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm> && detail::has_member_function_add_anyreturn_v< const Left, const Right&, const Perm&>>>
auto TiledArray::add (const Left &left, const Right &right, const Perm &perm)
 Add and permute tile arguments. More...
 
template<typename Left , typename Right , typename Scalar , typename Perm , typename std::enable_if< detail::is_numeric_v< Scalar > &&detail::is_permutation_v< Perm >>::type * = nullptr>
auto TiledArray::add (const Left &left, const Right &right, const Scalar factor, const Perm &perm)
 Add, scale, and permute tile arguments. More...
 
template<typename Result , typename Arg >
Result & TiledArray::add_to (Result &result, const Arg &arg)
 Add to the result tile. More...
 
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric_v< Scalar >>::type * = nullptr>
Result & TiledArray::add_to (Result &result, const Arg &arg, const Scalar factor)
 Add and scale to the result tile. More...