title: std::bind alternative for pre-C++11
body: <p>For this project, I cannot use C++11, or add any additional dependencies (e.g. Boost).</p>
  
  <p>What I'm trying to achieve is this:</p>
  
  <pre><code>typedef void (*processorFunction)(int numItems, std::string* items);
  
  class Files
  {
  public:
      Files() : m_KVSeparator('='), m_ListSeparator(',') {}
      ~Files() {}
  
      void ReadDataFile(std::string filename, std::map&lt;std::string, processorFunction&gt; processorFunctions);
  
      char m_KVSeparator;
      char m_ListSeparator;
  };
  
  void Files::ReadDataFile(std::string filename, std::map&lt;std::string, processorFunction&gt; processorFunctions)
  {
      // The file parsing and choosing of the function omitted for brevity:
      processorFunction processor = ...;
      int numItems = ...;
      std::string* items = ...;
  
      processor(numItems, items);
  }
  
  // Example parser:
  void time_limit_parser(int&amp; timeLimit, int numItems, std::string* items)
  {
      timeLimit = atoi(items[0].c_str());
  }
  
  int main()
  {
      // Omitted getting the global file manager pointer
      Files* files = ...;
      std::map&lt;std::string, processorFunction&gt; configProcessorFunctions;
      int timeLimit;
      // ****** WHAT GOES HERE? ******
      files-&gt;ReadDataFile("config.dat", configProcessorFunctions);
  }
  </code></pre>
  
  <p>My question is what do I put on the <code>****** WHAT GOES HERE? ******</code> line? I would use std::bind to partially apply it (a la <code>time_limit_parser(timeLimit)</code>), but I can't use C++11 for this project.</p>