title: How to use return values from functor's with boost::thread
body: <p>If I have a functor like this...</p>
  
  <pre><code>class DoStuff {
  
    private:
  
      std::vector &lt; int &gt; numericStuff;
  
    public:
  
      explicit DoStuff (const std::vector &lt;int&gt; &amp;newStuff) : numericStuff (newStuff) {};
  
      int operator () (void) {
  
         int ProcessedStuff = 0;
  
         //...Doing stuff
  
         return ProcessedStuff;
  
      };
  
  };
  </code></pre>
  
  <p>...now, if I wanted to use it normally all I would have to do is...</p>
  
  <pre><code>//...Vector declared and populated somewhere else
  DoStuff stuff (Vector);
  int someNumber = stuff();
  </code></pre>
  
  <p>...and there you go.  What I want to do is throw it into a boost::thread like this...</p>
  
  <pre><code>DoStuff stuff (Vector);
  boost::thread (stuff);
  </code></pre>
  
  <p>...and then use it, but for the life of me I can't find out how.  Any help would be appreciated.</p>