26 Nisan 2019 Cuma

std::clamp

Giriş
C++17 ile geliyor.

Metodun içi şöyle. return ile assert beraber kullanılıyor.
template<class T, class Compare>
constexpr const T& clamp( const T& v, const T& lo, const T& hi, Compare comp )
{
    return assert( !comp(hi, lo) ),
        comp(v, lo) ? lo : comp(hi, v) ? hi : v;
}
Örnek
Şöyle yaparız.
if (v == std::clamp(v, lo, hi)) {
    // lo <= v && v <= hi.
}


Hiç yorum yok:

Yorum Gönder