title: get all combinations between set elements
body: <p>given a vector > SETS such that</p>
  
  <pre><code>SETS[0] = {1,2,3}
  SETS[1] = {11,22,33}
  SETS[2] = {111,222,333}
  </code></pre>
  
  <p>I want to create all the vectors</p>
  
  <pre><code>{1,11,111} ... {1,11,333}, {1,22,111} ... {1,22,333} ... {3,11,111} ... {3,33,333} 
  </code></pre>
  
  <p>I've looked for it in boost doc but didn't find anything.
  Before than writing the code on my own, is there any library containing a function solving this problem?</p>