title: How to implement an initializer list for user defined type? (analogus to std::vector initializer list)
body: <p><code>std::vector</code> can be initialized as </p>
  
  <pre><code>std::vector&lt;std::string&gt; words1 {"the", "frogurt", "is", "also", "cursed"}; 
  </code></pre>
  
  <p><a href="http://en.cppreference.com/w/cpp/container/vector/vector" rel="noreferrer">Reference</a></p>
  
  <p>Now if want to achieve the similar functionality for one of my types, how do I go about doing it? How should I implement the constructor for this functionality?. </p>
  
  <p>How does the standard support me achieving this (reference to standard will be most helpful)?. Basically, if you could teach me how it's implemented for <code>std::vector</code> it will be sufficient.</p>
  
  <p>Can this also be done prior to C++11?</p>
  
  <p>Also, can I have a POD struct type initializer list so that I can have values with different types to initialise my type?</p>