title: C++11: is std::locale::empty() even a thing?
body: <p>Trying to compile <a href="https://stackoverflow.com/a/10607146/5112564">some code</a> from StackOverflow, basically, these lines:</p>
  
  <pre><code>std::wifstream wif(filename);
  wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8&lt;wchar_t&gt;));
  </code></pre>
  
  <p>GCC version: <code>gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0</code></p>
  
  <p>I get a compile error:</p>
  
  <blockquote>
    <p>'empty' is not a member of 'std::locale'</p>
  </blockquote>
  
  <p>And I agree with the compiler, checked with documentation like <a href="http://en.cppreference.com/w/cpp/locale/locale" rel="nofollow noreferrer">cppreference</a> - there is no info about such thing. Header files as well do not show anything.</p>
  
  <p>I wonder, if this is just me or the sample code from another topic...</p>
  
  <p>Can it be a MSVC feature? (the sample code I used is from the question related to Windows)</p>