/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
py-modules-0.2.10
coding/streams_common.hpp
52 строки
948 B
Sergey Yershov
Fix include path for coding
23 сен 2015, 02:45
23 сен 2015, 02:45
d4c11fa
Код
Авторство
О чём код?
#pragma once #include "base/base.hpp" #include "base/assert.hpp" #include "std/string.hpp" namespace stream { namespace detail { template <class TStream> void ReadString(TStream & s, string & t) { uint32_t count; s >> count; t.reserve(count); while (count > 0) { char c; s >> c; t.push_back(c); --count; } } template <class TStream, class TWriter> void WriteString(TStream & s, TWriter & w, string const & t) { uint32_t const count = static_cast<uint32_t>(t.size()); s << count; if (count > 0) w.Write(t.c_str(), count); } template <class TStream> void ReadBool(TStream & s, bool & t) { char tt; s >> tt; ASSERT(tt == 0 || tt == 1, (tt)); t = (tt != 0); } template <class TStream> void WriteBool(TStream & s, bool t) { s << char(t ? 1 : 0); } } }