Удобно скопировать std :: vector в объект входного потока (std :: istream)

Я пытаюсь использовать функцию, которая входит в стороннюю библиотеку и ожидает объект входного потока, в котором передаются данные двоичного файла.

] Подпись выглядит так:

doSomething(const std::string& ...,
          const std::string& ...,
          std::istream& aData,
          const std::string& ...,
          const std::map<std::string, std::string>* ...,
          long ...,
          bool ...);

Поскольку я не могу изменить / изменить эту стороннюю библиотеку / функцию, мне нужно адаптировать "мой" код. В месте вызова у меня есть std :: vector, который содержит данные который, как ожидается, будет передан в объекте istream. В настоящее время я копирую вектор в поток, выполняя итерацию по нему и используя оператор << для копирования байт за байтом.

Я сильно подозреваю, что может быть более эффективный / удобный способ, но пока не нашел ничего полезного. Любая помощь / ваши мысли очень признательны.

С уважением, JR

7
задан Rip-Off 20 February 2012 в 08:47
поделиться