Design for C++ class methods taking input from different sources
Why not just insert() and iterator like most containers in the STL.

 std::vector&lt;int&gt;   data;
 std::ifstream      file("Plop");

 data.insert(data.end(), std::istream_iterator&lt;int&gt;(file),
                         std::istream_iterator&lt;int&gt;());

 char  buffer[] = "1 2 3 4 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18 19";
 std::stringstream   bufferStream(buffer);

 data.insert(data.end(), std::istream_iterator&lt;int&gt;(bufferStream),  
                          std::istream_iterator&lt;int&gt;());


 std::vector&lt;int&gt;    anotherBuffer = LoadBuffer();
 data.insert(data.end(), std::begin(anotherBuffer), std::end(anotherBuffer));