title: How to produce hex output with boost::format?
body: <p>Consider the following :</p>
  
  <pre><code>#include &lt;vector&gt;
  #include &lt;string&gt;
  #include &lt;iostream&gt;
  
  #include &lt;boost/format.hpp&gt;
  #include &lt;boost/assign.hpp&gt;
  #include &lt;boost/assign/list_of.hpp&gt;
  #include &lt;boost/assign/std/vector.hpp&gt;
  
  using namespace std;
  
  typedef unsigned char byte;
  typedef vector&lt;byte&gt; byte_array;
  
  const byte_array bytes = list_of(0x05)(0x04)(0xAA)(0x0F)(0x0D);
  
  int main()
  {
      const string formatter = "%1%-%2%-%3%-%4%-%5%";
      const string result = (format(formatter)
                             % bytes[0]
                             % bytes[1]
                             % bytes[2]
                             % bytes[3]
                             % bytes[4]
                                      ).str();
      cout &lt;&lt; result &lt;&lt; endl;
      return 0;
  }
  </code></pre>
  
  <p>I'd like to see the result printed as : "05-04-AA-0F-0D" . What do I need to do to the formatter string to achieve that ?</p>