文档目录
// 1. std::same_as —— 精确类型匹配
// 用于需要精确匹配的 API
void process(std::same_as<int> auto x);  // 只接受 int,不接受 long

// 2. std::convertible_to —— 可隐式转换
// 用于返回值约束
{ func() } -> std::convertible_to<int>;  // func 的返回值可以被赋给 int

// 3. std::invocable —— 可调用对象
// 用于接受回调的泛型函数
template <std::invocable<int, double> F>
void register_callback(F&& callback);    // F 必须是 f(int, double) 这种签名

// 4. std::range —— 容器/范围
// 替代传统 iterator pair
template <std::range R>
void sort_all(R& r);                     // 接受 vector, list, array, span...