Packet& operator<<(uint16_t value);
Packet& operator<<(uint32_t value);
Packet& operator<<(uint64_t value);
- //Packet& operator<<(float value);
- //Packet& operator<<(double value);
- //Packet& operator<<(long double value);
+ Packet& operator<<(float value);
+ Packet& operator<<(double value);
size_t write(const void* bytes, size_t size);
Packet& operator>>(uint16_t& value);
Packet& operator>>(uint32_t& value);
Packet& operator>>(uint64_t& value);
+ Packet& operator>>(float& value);
+ Packet& operator>>(double& value);
size_t read(void* bytes, size_t size);
inline Packet& operator<<(Packet& packet, const char* value)
{
- uint8_t length = strnlen(value, 255);
+ uint16_t length = strlen(value);
packet << length;
packet.write(value, length);
return packet;
inline Packet& operator<<(Packet& packet, const std::string& value)
{
- packet << (uint8_t)value.length();
+ packet << (uint16_t)value.length();
packet.write(value.c_str(), value.length());
return packet;
}