Hasty Briefsbeta

双语

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`及其他复合赋值操作。
  • 特别感谢一位匿名阿根廷人对此项目的启发。