title: Allocate large static std::unordered_map results in stack overflow
body: <p>I am creating a static <code>std::unordered_map</code> as follows:</p>
  
  <pre><code> auto* __epsgMap__ = new std::unordered_map &lt;int/*EPSG*/, CRS::Info&gt; ({
  
  {3819, CRS::Info("HD1909","+proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408 +no_defs")},
  {3821, CRS::Info("TWD67","+proj=longlat +ellps=aust_SA +no_defs")},
  {3824, CRS::Info("TWD97","+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")},
  {3889, CRS::Info("IGRS","+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")},
  {3906, CRS::Info("MGI 1901","+proj=longlat +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +no_defs")},
  {4001, CRS::Info("Unknown datum based upon the Airy 1830 ellipsoid","+proj=longlat +ellps=airy +no_defs")},
  ...
  ...
  });
  </code></pre>
  
  <p>This map has 5k+ entries, hence, on MSVC, allocating it results in stack overflow (I guess it pushes an <code>std::initializer_list</code> on the stack).</p>
  
  <p>How can I allocate this, witout successive calls to <code>insert()</code>?</p>
  
  <p>** Edit **</p>
  
  <p>Tried to do this in an allocater function with successive calls to <code>std::unordered_map::insert()</code> but is overflows the stack anyway when the allocator function is called (it probably pushes all the elements onto the stack anyway)</p>