License
Distributed under the
Boost Software License 1.0.
(See accompanying file LICENSE) Source: core/_internal/_array/_operations.d
This module contains support array (vector) operations
(See accompanying file LICENSE) Source: core/_internal/_array/_operations.d
converts slice types to their element type, preserves anything else
converts slice types to their element type, preserves anything else
T[] arrayOp(T : T[], Args...)(T[] res, Filter!(isType, Args) args) @trusted Perform array (vector) operations and store the result in `res`. Operand types and operations are passed as template arguments in Reverse Polish * Notation (RPN).bool isBinaryAssignOp(string op)string toString(size_t num)bool contains(T)(const scope T[] ary, const scope T[] vals...)Check whether operations on operand types are supported. This template recursively reduces the expression tree and determines intermediate types. Type checking is done here rather than in the compiler to provide more detailed error messages.
fail | whether to fail (static assert) with a human-friendly error message |
T | type of result |
Args | operand types and operations in RPN |
ditto
Find element in haystack for which pred is true.
pred | the template predicate |
haystack | elements to search |
pred!haystack[index] is true or -1.