From 44c762cb8f968f11cf824c1926937633eaa4161e Mon Sep 17 00:00:00 2001 From: chatty Date: Tue, 10 May 1994 09:52:56 +0000 Subject: Initial revision --- comm/IOS.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 comm/IOS.h (limited to 'comm/IOS.h') diff --git a/comm/IOS.h b/comm/IOS.h new file mode 100644 index 0000000..a0cceb9 --- /dev/null +++ b/comm/IOS.h @@ -0,0 +1,58 @@ +/* + * The Unix Channel + * + * by Michel Beaudouin-Lafon + * + * Copyright 1990-1994 + * Laboratoire de Recherche en Informatique (LRI) + * + * Basic I/O + * + * $Id$ + * $CurLog$ + */ + +#ifndef UchIO_H_ +#define UchIO_H_ + +#include "cplus_bugs.h" +#include "global.h" + +class CcuString; + +class UchIOS { +public: + UchIOS (); +virtual ~UchIOS (); + +virtual void WriteLong (lword) = 0; +virtual void WriteShort (sword) = 0; +virtual void WriteByte (byte) = 0; +virtual void WriteChar (char) = 0; +virtual void WriteString (const char*) = 0; +virtual void WriteBuf (const byte*, int) = 0; + +virtual void ReadLong (lword&) = 0; +virtual void ReadShort (sword&) = 0; +virtual void ReadByte (byte&) = 0; +virtual void ReadChar (char&) = 0; +virtual void ReadString (char*) = 0; +virtual void ReadString (CcuString&) = 0; +virtual void ReadBuf (byte*, int) = 0; + +inline UchIOS& operator << (lword l) { WriteLong (l); return *this; } +inline UchIOS& operator << (sword s) { WriteShort (s); return *this; } +inline UchIOS& operator << (byte b) { WriteByte (b); return *this; } +inline UchIOS& operator << (char c) { WriteChar (c); return *this; } +inline UchIOS& operator << (const char* s) { WriteString (s); return *this; } + +inline UchIOS& operator >> (lword& l) { ReadLong (l); return *this; } +inline UchIOS& operator >> (sword& s) { ReadShort (s); return *this; } +inline UchIOS& operator >> (byte& b) { ReadByte (b); return *this; } +inline UchIOS& operator >> (char& c) { ReadChar (c); return *this; } +inline UchIOS& operator >> (char* s) { ReadString (s); return *this; } +inline UchIOS& operator >> (CcuString& s) { ReadString (s); return *this; } +}; + +#endif /* UchIO_H_ */ + -- cgit v1.1