25#ifndef SFML_PACKET_HPP
26#define SFML_PACKET_HPP
31#include <SFML/Network/Export.hpp>
50 typedef bool (
Packet::*BoolType)(std::size_t);
78 void append(
const void* data, std::size_t sizeInBytes);
184 operator BoolType()
const;
331 Packet& operator <<(
const std::string& data);
336 Packet& operator <<(
const wchar_t* data);
341 Packet& operator <<(
const std::wstring& data);
371 virtual const void*
onSend(std::size_t& size);
390 virtual void onReceive(
const void* data, std::size_t size);
398 bool operator ==(
const Packet& right)
const;
399 bool operator !=(
const Packet& right)
const;
411 bool checkSize(std::size_t size);
416 std::vector<char> m_data;
417 std::size_t m_readPos;
418 std::size_t m_sendPos;
Utility class to build blocks of data to transfer over the network.
std::size_t getDataSize() const
Get the size of the data contained in the packet.
void clear()
Clear the packet.
std::size_t getReadPosition() const
Get the current reading position in the packet.
bool endOfPacket() const
Tell if the reading position has reached the end of the packet.
Packet()
Default constructor.
void append(const void *data, std::size_t sizeInBytes)
Append data to the end of the packet.
const void * getData() const
Get a pointer to the data contained in the packet.
virtual void onReceive(const void *data, std::size_t size)
Called after the packet is received over the network.
virtual ~Packet()
Virtual destructor.
virtual const void * onSend(std::size_t &size)
Called before the packet is sent over the network.
Utility string class that automatically handles conversions between types and encodings.
Specialized socket using the TCP protocol.
Specialized socket using the UDP protocol.