title: How do I use the new C++17 execution policies?
body: <p>I was reading through the <a href="http://en.cppreference.com/w/cpp/algorithm" rel="noreferrer" title="std::algorithm">std::algorithm</a> documentation at <a href="http://en.cppreference.com/w/" rel="noreferrer" title="cppreference.com">cppreference.com</a> and I noticed a C++17 tag on a lot of cool things I haven't used yet. What got my attention most was <a href="http://en.cppreference.com/w/cpp/algorithm/execution_policy_tag_t" rel="noreferrer" title="execution policies">the new execution policies.</a> What I gathered from reading about them is that I can make any <code>for_each</code> loop I want multi-threaded just by specifying an execution policy.</p>
  
  <p>For example, I have a program which outputs an image with a 2D graphic on it.</p>
  
  <pre><code>int main(){
      std::for_each(
          img.buffer().begin(),
          img.buffer().end(),
          renderer(
              {-0.5, 0.0, 2.666, 2.0, M_PI / 2.0, 0.0},
              img,
              16
          )
      );
      fout &lt;&lt; img;
  }
  </code></pre>
  
  <p>If I want to make this program multi-threaded I should be able to do it with one line.</p>
  
  <pre><code>int main(){
      std::for_each(
          std::execution::par_unseq, // c++17 feature
          img.buffer().begin(),
          img.buffer().end(),
          renderer(
              {-0.5, 0.0, 2.666, 2.0, M_PI / 2.0, 0.0},
              img,
              16
          )
      );
      fout &lt;&lt; img;
  }
  </code></pre>
  
  <p>However when I first tried this (with <code>g++ -std=c++17</code>) I got an error telling me that <code>‘std::execution’ has not been declared</code>, so I tried adding <code>#include &lt;execution&gt;</code> but it says <code>execution: No such file or directory</code>. I've also tried <code>#include&lt;experimental/algorithm&gt;</code> instead of <code>#include&lt;algorithm&gt;</code> but I get the same result. How do I use this new feature?</p>