理解 std::chrono::duration_values 中的最小和最大声明语法的问题

Problems understanding the min and max declarations syntax in std::chrono::duration_values

我正在看下面的一段代码,来自 std::chrono,但我不明白 _Rep(min)() 语法。

我知道 _Rep 是 return 类型,并且 min 必须是方法名称,但是:

template <class _Rep>
struct duration_values { // gets arithmetic properties of a type
    _NODISCARD static constexpr _Rep zero() noexcept {
        // get zero value
        return _Rep(0);
    }

    _NODISCARD static constexpr _Rep(min)() noexcept {
        // get smallest value
        return numeric_limits<_Rep>::lowest();
    }

    _NODISCARD static constexpr _Rep(max)() noexcept {
        // get largest value
        return (numeric_limits<_Rep>::max)();
    }
};

我在 numeric_limits 中看到了相同的构造:

    _NODISCARD static constexpr _Ty(min)() noexcept {
        return _Ty();
    }
    
    _NODISCARD static constexpr _Ty(max)() noexcept {
        return _Ty();
    }

更多信息,以备不时之需:

还有一个我一直在玩的在线小例子:https://godbolt.org/z/E5nW7x8vW

它是为了打败宏扩展; Windows headers 用于定义名为 minmax.

的宏