title: C++ replace multiple strings in a string in a single pass
body: <p>Given the following string, <code>"Hi ~+ and ^*. Is ^* still flying around ~+?"</code></p>
  
  <p>I want to replace all occurrences of <code>"~+"</code> and <code>"^*"</code> with "Bobby" and "Danny", so the string becomes:</p>
  
  <p><code>"Hi Bobby and Danny. Is Danny still flying around Bobby?"</code></p>
  
  <p>I would prefer not to have to call Boost replace function twice to replace the occurrences of the two different values.</p>