From eb753d99914a0941ad7e2cfa4c8a364723340fc9 Mon Sep 17 00:00:00 2001 From: Björn Steinbrink Date: Wed, 14 Sep 2005 14:52:47 +0000 Subject: Added stream operator for char, short and long reading and writing. --- src/net/messagein.cpp | 18 ++++++++++++++++++ src/net/messagein.h | 4 ++++ src/net/messageout.cpp | 18 ++++++++++++++++++ src/net/messageout.h | 4 ++++ 4 files changed, 44 insertions(+) (limited to 'src') diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp index 6eb56180..ebf1366f 100644 --- a/src/net/messagein.cpp +++ b/src/net/messagein.cpp @@ -151,3 +151,21 @@ MessageIn::readString(int length) return readString; } + +char& operator<<(char &lhs, MessageIn &msg) +{ + lhs = msg.readByte(); + return lhs; +} + +short& operator<<(short &lhs, MessageIn &msg) +{ + lhs = msg.readShort(); + return lhs; +} + +long& operator<<(long &lhs, MessageIn &msg) +{ + lhs = msg.readLong(); + return lhs; +} diff --git a/src/net/messagein.h b/src/net/messagein.h index 9a61ce7d..087d325c 100644 --- a/src/net/messagein.h +++ b/src/net/messagein.h @@ -31,6 +31,10 @@ */ class MessageIn { + friend char& operator<<(char &lhs, MessageIn &msg); + friend short& operator<<(short &lhs, MessageIn &msg); + friend long& operator<<(long &lhs, MessageIn &msg); + public: /** * Constructor. diff --git a/src/net/messageout.cpp b/src/net/messageout.cpp index 272cac4e..d25cc62b 100644 --- a/src/net/messageout.cpp +++ b/src/net/messageout.cpp @@ -129,3 +129,21 @@ const Packet *MessageOut::getPacket() return mPacket; } + +MessageOut& operator<<(MessageOut &msg, const char &rhs) +{ + msg.writeByte(rhs); + return msg; +} + +MessageOut& operator<<(MessageOut &msg, const short &rhs) +{ + msg.writeShort(rhs); + return msg; +} + +MessageOut& operator<<(MessageOut &msg, const long &rhs) +{ + msg.writeLong(rhs); + return msg; +} diff --git a/src/net/messageout.h b/src/net/messageout.h index 7cbca165..a312cefe 100644 --- a/src/net/messageout.h +++ b/src/net/messageout.h @@ -33,6 +33,10 @@ class Packet; */ class MessageOut { + friend MessageOut& operator<<(MessageOut &msg, const char &rhs); + friend MessageOut& operator<<(MessageOut &msg, const short &rhs); + friend MessageOut& operator<<(MessageOut &msg, const long &rhs); + public: /** * Constructor. -- cgit v1.2.3-70-g09d2