title: Concat for predefined macros
body: <p>I would like to make single string from <code>__FILE__</code>, <code>__FUNCTION__</code>, and <code>__LINE__</code> predefined macros. </p>
  
  <pre><code>#define LOG_LINE __FILE__ " " __FUNCTION__ " " __LINE__
  </code></pre>
  
  <p>This probably will don't work because compiler concat don't work with integers which <code>__LINE__</code> is. <br/>
      <code>#define LOG_LINE __FILE__ __FUNCTION__</code>
  <br/>also don't work, because:<br/>
  <code>error: expected ';' before '__FUNCTION__'</code></p>
  
  <p>How to achieve that to have
  <code>std::cout &lt;&lt; LOG_LINE</code> which will expand to e.g. <code>main.cpp main 8</code>? </p>
  
  <p>Solution:
  <code>#define LOG_LINE __FILE__ &lt;&lt; " " &lt;&lt; __FUNCTION__</code> does not satisfy me because sometimes I would like to use it as string (big macro with sstream also is not valid solution ;).</p>