DevTrends开发者趋势
主题色

sentomk /

patternia

Patternia 致力于为 C++ 提供一种更自然的 match-style 表达方式,同时尽量避免隐式绑定、隐藏规则这类容易让人困惑的设计。 目前支持: 字面量匹配 显式绑定(且只允许显式绑定) has<> 解构 std::variant 匹配 多分支下的快速分发路径 守卫谓词 [] 语法示例如下: cpp int x = 42; // 基本的字面量匹配 auto res = match(x) | on ( lit(1) >> "O…

DT软件开发DT库 / SDK

关于

Patternia 致力于为 C++ 提供一种更自然的 match-style 表达方式,同时尽量避免隐式绑定、隐藏规则这类容易让人困惑的设计。 目前支持: 字面量匹配 显式绑定(且只允许显式绑定) has<> 解构 std::variant 匹配 多分支下的快速分发路径 守卫谓词 [] 语法示例如下: cpp int x = 42; // 基本的字面量匹配 auto res = match(x) | on ( lit(1) >> "One", lit(2) >> "Two", "Other" ); cpp struct Point { int x; int y; }; Point p {0, 0}; // 结构体解构并绑定解构的值 match(p) | on ( $(has<&Point::x, &Point::y>) >> [](int x, int y]{ std::cout << "x: " << x << " y: " << y << '\n'; }, ... ... ); 更多代码示例可以前往 Show Patternia 查看并运行; 官方文档

收录记录

  1. Show HN

    2025年11月8日 – 2025年12月4日 · 3 次收录

  2. 阮一峰周刊·用户投稿

    2025年12月7日 – 2026年3月20日 · 2 次收录

讨论这个产品