title: C++ binary predicate version of std::all_of()?
body: <p>Given two <code>std::vector&lt;T&gt;</code>s, <code>vec_a</code> and <code>vec_b</code>, does the standard library include a function to test if every element in <code>vec_a</code> is less than its positionally corresponding element in <code>vec_b</code>, assuming the binary <code>operator&lt;</code> is defined for operands of type <code>T</code>?</p>
  
  <p>I would think something like a binary predicate version of <a href="https://en.cppreference.com/w/cpp/algorithm/all_any_none_of" rel="nofollow noreferrer"><code>std::all_of</code></a> would do the trick perfectly, but I'm not sure if it exists, or what it would be called if it did.  Perhaps also some combination of <code>std::all_of</code> applied to the output of another function which performs elementwise comparison would work, if such a thing exists.</p>
  
  <hr>
  
  <p>Example of desired functionality:</p>
  
  <pre><code>std::vector&lt;int&gt; vec_a{1, 2, 3};
  std::vector&lt;int&gt; vec_b{2, 3, 4};
  
  bool all_less = vec_a.size() == vec_b.size();
  for (size_t i = 0; all_less &amp;&amp; (i &lt; vec_a.size()); ++i) {
      all_less = vec_a[i] &lt; vec_b[i];
  }
  
  // all_less now holds desired result
  </code></pre>