// portable/PacketReader.cpp // Libunistd Copyright 2016/1/16 Robin.Rowe@cinepaint.org // License open source MIT/BSD #include "PacketReader.h" namespace portable { template<> PacketReader& operator>>(PacketReader& packet,std::string& data) { const bool ok = packet.Read(data); // std::cout<<"read string" << std::endl; return packet; } bool PacketReader::Read(std::string& s) { const char* cs =""; unsigned stringLength = 0; if(!Read(cs,stringLength)) { return false; } s = cs; return true; } bool PacketReader::Read(const char*& s,unsigned& stringLength) { stringLength = 0; if(IsInvalid()) { return false; } s = readPtr; stringLength = 0; while(readPtr