Próbuję użyć funkcji, która znajduje się w lib innej firmy i oczekuje obiektu strumienia wejściowego, w którym plik binarny dane są transportowane.Dogodnie kopiuj std :: wektor <unsigned char> do strumienia wejściowego (std :: istream) obiekt
Podpis wygląda tak:
doSomething(const std::string& ...,
const std::string& ...,
std::istream& aData,
const std::string& ...,
const std::map<std::string, std::string>* ...,
long ...,
bool ...);
Ponieważ nie mogę zmienić/zmienić to 3rd party lib/funkcję, muszę dostosować w "moim" kodu. W miejscu wywołania mam wektor std :: zawierający dane, które powinny zostać przekazane w obiekcie istream. Obecnie kopiuję wektor do strumienia, poprzez jego iterację i użycie operatora < < do skopiowania bajtu po bajcie.
Zdecydowanie podejrzewam, że może istnieć bardziej efektywny/wygodny sposób, ale do tej pory nie można było znaleźć żadnych przydatnych informacji. Każda pomoc/twoje myśli są bardzo cenne.
Best, JR
Nie widzę, jak można ** wpisać ** do ** strumienia wejściowego **. –
Tak, jak dokładnie używasz operatora << na ** istream **? – HighCommander4
Istotne? http://stackoverflow.com/questions/9319813/overloading-operator-for-c-stl-containers/9320896#9320896 – BoBTFish