title: boost for each problem
body: <pre><code>std::map&lt; std::string , std::string &gt; matrix_int;
  typedef std::pair&lt; std::string , std::string &gt; lp_type;
  BOOST_FOREACH( lp_type &amp;row, matrix_int ){
  
  }
  </code></pre>
  
  <p>this can not be complied:
  error C2440: 'initializing' : cannot convert from 'std::pair&lt;_Ty1,_Ty2>' to 'lp_type &amp;'</p>
  
  <p>when I have ',' in element type, boost doc says I can use typedef or predefine a var;
  but what should I do when I want to get a reference?</p>