C++: terser (shorter) lambda == SHORTY (ab-use?)
a year ago
- #lambda
- #C++
- #syntax
- 'shorty'库提供了比C++ lambda更简洁的语法,并非替代C++,而是为表达式编写提供更精炼的方式。
- 示例包括用`$lhs > $rhs`进行排序、用`($i % 2) == 0`过滤偶数,以及对视图进行zip/transform操作。
- 支持调用外部函数如`$<sqrt>($a * $a + $b * $b)`,以及用`$<int>($0)`进行类型转换。
- 特殊参数语法包含`$lhs`、`$rhs`、`$it`、`$a`到`$f`、`$x`、`$y`、`$z`、`$i`、`$n`、`$k`、`$in`、`$argc`和`$args`。
- 捕获选项:`$(v)`或`$ref(v)`表示引用捕获,`$value(v)`或`$copy(v)`表示值捕获,`$fixed<v>`或`$const<v>`用于CNTTP。
- 支持通过`$<callable>(args...)`调用可调用对象,或通过`$call<CallableType>(args...)`构造新实例。
- 支持算术运算如`$a += 2`及其他复合赋值操作。
- 特别感谢一位匿名阿根廷人对此项目的启发。