title: error C2039: 'binary_function': is not a member of 'std'
body: <p>So I have inherited some code and while updating it to C++17 I receive the error message:</p>
  
  <p>error C2039: 'binary_function': is not a member of 'std'</p>
  
  <p>The binary_function is used in two places.  Fortunately both code segments seem to be very similar</p>
  
  <pre><code>struct CompareNodes : public std::binary_function&lt;double, double, bool&gt;
  {
    bool operator()(BOARD_NODE_STRUCT *pNS1, BOARD_NODE_STRUCT *pNS2)
    {
      return (*pNS1) &lt; (*pNS2);
    }
  };
  
  
  struct CompareNodes : public std::binary_function&lt;NODE_STRUCT *, NODE_STRUCT *, bool&gt;
  {
    bool operator()(NODE_STRUCT *pNS1, NODE_STRUCT *pNS2)
    {
      return (pNS1-&gt;name.CompareNoCase(pNS2-&gt;name) &lt; 0);
    }
  };
  </code></pre>
  
  <p>I guess that I'm still a bit of a novice because I have not seen code like this before.
  How do I update this code to something that is equivalent?</p>