Есть ли версия std::streambuf, которая преобразует порядок байтов хоста в сетевой?

Есть ли подобный std::streambuf механизм для преобразования многобайтовых значений в сетевой порядок байтов? В частности, Boost Asio предлагает такой примитив? Вот пример того, что я хотел бы, чтобы буфер потока делал:

uint64_t x = 42ull;
network_streambuf b1;
std::ostream os(&b1);
os << 42ull; // htonll

network_streambuf b2;
std::istream is(&b2);
uint64_t y;
is >> y; // ntohll

РЕДАКТИРОВАТЬ : Ответы предполагают, что это неправильный способ думать о проблеме: буферы потока просто предоставляют доступ к последовательностям символов, их работа не выполнять форматированный ввод-вывод или преобразование. Я, вероятно, реализую небольшой буферный класс, который обеспечивает необходимые перегрузки для operator<< и operator>> для выполнения преобразования.

9
задан mavam 7 March 2012 в 09:26
поделиться