From Jason Turner

[linalg.helpers.imag]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp50t4jfq2/{from.md → to.md} +18 -0
tmp/tmp50t4jfq2/{from.md → to.md} RENAMED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### *`imag-if-needed`* <a id="linalg.helpers.imag">[[linalg.helpers.imag]]</a>
2
+
3
+ The name *`imag-if-needed`* denotes an exposition-only function object.
4
+ The expression `imag-if-needed(E)` for a subexpression `E` whose type is
5
+ `T` is expression-equivalent to:
6
+
7
+ - `imag(E)`, if `T` is not an arithmetic type and the expression
8
+ `imag(E)` is valid, with overload resolution performed in a context
9
+ that includes the declaration
10
+ ``` cpp
11
+ template<class U> U imag(const U&) = delete;
12
+ ```
13
+
14
+ If the function selected by overload resolution does not return the
15
+ imaginary part of its input, the program is ill-formed, no diagnostic
16
+ required;
17
+ - otherwise, `((void)E, T{})`.
18
+