28
Numerics library
[numerics]
28.9
Basic linear algebra algorithms
[linalg]
28.9.12
Algorithm requirements based on template parameter name
[linalg.algs.reqs]
1
#
Throughout
[linalg.
algs.
blas1]
,
[linalg.
algs.
blas2]
, and
[linalg.
algs.
blas3]
, where the template parameters are not constrained, the names of template parameters are used to express the following constraints
.
(1.1)
is_
execution_
policy
<
ExecutionPolicy
>
::
value
is
true
(
[execpol.
type]
)
.
(1.2)
Real
is any type such that
complex
<
Real
>
is specified (
[complex.
numbers.
general]
)
.
(1.3)
Triangle
is either
upper_
triangle_
t
or
lower_
triangle_
t
.
(1.4)
DiagonalStorage
is either
implicit_
unit_
diagonal_
t
or
explicit_
diagonal_
t
.
[
Note
1
:
Function templates that have a template parameter named
ExecutionPolicy
are parallel algorithms (
[algorithms.
parallel.
defns]
)
.
—
end note
]