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

Go to the source code of 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, Permutation > >::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, Permutation > >::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< Scalar >::value >::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 >
auto TiledArray::add (const Left &left, const Right &right, const Permutation &perm)
 Add and permute tile arguments. More...
 
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr>
auto TiledArray::add (const Left &left, const Right &right, const Scalar factor, const Permutation &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< Scalar >::value >::type * = nullptr>
Result & TiledArray::add_to (Result &result, const Arg &arg, const Scalar factor)
 Add and scale to the result tile. More...