pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
prc
core
functors
add.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSD-2-Clause
2
3
#ifndef pRC_CORE_FUNCTORS_ADD_H
4
#define pRC_CORE_FUNCTORS_ADD_H
5
6
#include <
prc/core/basic/functions/zero.hpp
>
7
#include <
prc/core/basic/type_traits.hpp
>
8
9
namespace
pRC
10
{
11
struct
Add
12
{
13
template
<
class
T, If<IsInvocable<Zero<T>>> = 0>
14
static
constexpr
auto
Identity
()
15
{
16
return
zero<T>
();
17
}
18
19
template
<
class
XA
,
class
XB
,
20
If<True<decltype(declval<XA>
() +
declval<XB>
())>> = 0>
21
constexpr
decltype
(
auto
)
operator()
(
XA
&&a,
XB
&&b)
const
22
{
23
return
forward<XA>
(a) +
forward<XB>
(b);
24
}
25
};
26
}
27
#endif
// pRC_CORE_FUNCTORS_ADD_H
zero.hpp
type_traits.hpp
pRC
Definition
cholesky.hpp:18
pRC::copy
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition
copy.hpp:13
pRC::Add
Definition
add.hpp:12
pRC::Add::operator()
constexpr decltype(auto) operator()(XA &&a, XB &&b) const
Definition
add.hpp:21
pRC::Add::Identity
static constexpr auto Identity()
Definition
add.hpp:14
Generated by
1.9.8