title: C++11 auto iterator type with std::begin(), std::end() issue
body: <p>I have some private class member, representing random access array of <code>std::deque</code> containing some data:</p>
  
  <pre><code>std::vector&lt;std::deque&lt;SomeDataClass&gt; &gt; someMember;
  </code></pre>
  
  <p>I would like to provide a public class method which returns iterable data structure, containing all data elements from my array of deques:</p>
  
  <pre><code>std::deque&lt;SomeDataClass&gt; someMethod();
  </code></pre>
  
  <p>I would like this method go through all the deques in vector and copy every element on it's way to local std::deque, eventually returning this local std::deque by value.
  I'm trying to implement this method using C++11 <code>auto</code> and <code>std::begin()</code>, <code>std::end()</code>:</p>
  
  <pre><code>std::deque&lt;SomeDataClass&gt; MyClassName::someMethod(){
      std::deque&lt;DirectedEdge&gt; allDataItems;
      std::deque&lt;DirectedEdge&gt;::iterator deqIter = allDataItems.begin();
      for(auto it = std::begin(someMember); it != std::end(someMember); ++it){
          std::copy(std::begin(*it), std::end(*it), deqIter);
      }
  
      return allDataItems;
  }
  </code></pre>
  
  <p>I receive data access violation unhandled exception error on runtime in deque header. What is a mistake?</p>