title: should C++ class "helper functions" be members, free, or anon-namespace free?
body: <p>So, I have a class. It's a useful class. I like a lot. Let's call it <code>MyUsefulClass</code>.
  <code>MyUsefulClass</code> has a public method. Let's call it <code>processUsefulData(std::vector&lt;int&gt;&amp;)</code>.</p>
  
  <p>Now suppose <code>processUsefulData</code> really does two things and I want to refactor it from this:</p>
  
  <pre><code>std::vector&lt;int&gt; MyUsefulClass::processUsefulData(std::vector&lt;int&gt;&amp; data)
  {
      for (/*...*/)
      {
          for (/*...*/)
          {
              // a bunch of statements...
          }
      }
  
      for (/*...*/)
      {
          for (/*...*/)
          {
              // a bunch of other statements...
          }
      }
      return data;
  }
  </code></pre>
  
  <p>Now, I want to split these responsibilities and rewrite the code as </p>
  
  <pre><code>std::vector&lt;int&gt; MyUsefulClass::processUsefulData(std::vector&lt;int&gt;&amp; data)
  {
      doProcessA(data, dataMember_);
      doProcessB(data, otherDataMember_);
      return data;
  }
  </code></pre>
  
  <p>So, I don't know if I should make the two helper functions free functions or member functions, and when each would be appropriate. I also don't know if it's better to make them in an anonymous namespace or not. Does anyone know good times to do this?</p>