Criando um fluxo de entrada a partir da memória constante
Eu tenho alguns dados em um buffer apontado por umconst char*
ponteiro. Os dados são apenas uma string ASCII. Eu sei seu tamanho. Gostaria de poder lê-lo da mesma forma que os dados são lidos a partir de fluxos. Eu estou procurando uma solução que me permita escrever código como este:
// for example, data points to a string "42 3.14 blah"
MemoryStreamWrapper in(data, data_size);
int x;
float y;
std::string w;
in >> x >> y >> w;
Condição importante:os dados não devem ser copiados ou alterados de qualquer forma (caso contrário, eu usaria apenas um fluxo de seqüência de caracteres. Para o meu melhor conhecimento, não é possível criar um fluxo de seqüência de caracteres de um ponteiro const char sem copiar os dados.)