当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ boost::algorithm::clamp()用法及代码示例


C++ Boost库中的clamp()函数位于标题“ boost /algorithm /clamp.hpp”下,其中包含两个“clamping”函数,即一对边界值之间的值。

用法

const T& clamp ( const T& val, const T& lo, const T& hi )
or 
const T& clamp ( const T& value, const T& low, const T& high, Pred p )

参数:该函数接受如下所述的参数:



  • value:相比于此,它指定了值。
  • low:这指定了较低的范围。
    • high:此指定更高的范围。
    • p:这指定谓词函数。

    返回值:该函数返回三个值,如下所述:

    • 如果值小于low,则返回low。
    • 如果high大于value,则返回high。
    • 在所有其他情况下,它返回值。

    Program-1

    // C++ program to implement the 
    // above mentioned function 
      
    #include <bits/stdc++.h> 
    #include <boost/algorithm/clamp.hpp> 
    using namespace std; 
      
    // Drivers code 
    int main() 
    { 
      
        int value = 5; 
        int low = 10, high = 20; 
      
        // Function used 
        int ans 
            = boost::algorithm::clamp(value, low, high); 
      
        cout << ans; 
        return 0; 
    }
    输出:
    10
    

    Program-2

    // C++ program to implement the 
    // above mentioned function 
      
    #include <bits/stdc++.h> 
    #include <boost/algorithm/clamp.hpp> 
    using namespace std; 
      
    // Drivers code 
    int main() 
    { 
      
        int value = 25; 
        int low = 10, high = 20; 
      
        // Function used 
        int ans 
            = boost::algorithm::clamp(value, low, high); 
        cout << ans; 
        return 0; 
    }
    输出:
    20
    

    Program-3

    // C++ program to implement the 
    // above mentioned function 
      
    #include <bits/stdc++.h> 
    #include <boost/algorithm/clamp.hpp> 
    using namespace std; 
      
    // Drivers code 
    int main() 
    { 
      
        int value = 15; 
        int low = 10, high = 20; 
      
        // Function used 
        int ans 
            = boost::algorithm::clamp(value, low, high); 
        cout << ans; 
        return 0; 
    }
    输出:
    15
    

    Reference:https://www.boost.org/doc/libs/1_70_0/libs/algorithm/doc/html/the_boost_algorithm_library/CXX14/mismatch.html




相关用法


注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 boost::algorithm::clamp() in C++ library。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。