00001 /* 00002 * @file Tools/Streams/Streamable.h 00003 * Base class for all types streamed by the StreamHandler 00004 * 00005 * 00006 */ 00007 #ifndef __Streamable_h_ 00008 #define __Streamable_h_ 00009 00010 #include "Tools/Streams/StreamHandler.h" 00011 #include "Tools/Streams/InOut.h" 00012 00013 // #undef max 00014 // #undef min 00015 00016 class Streamable 00017 { 00018 protected: 00019 virtual void serialize(In*,Out*)=0; 00020 public: 00021 void streamOut(Out&)const; 00022 void streamIn(In&); 00023 }; 00024 00025 00026 In& operator>>( In& in, Streamable& streamable); 00027 00028 Out& operator<<( Out& out, const Streamable& streamable); 00029 00030 #endif // Streamable
1.3.6