00001 #ifndef SCTDATA_IO_SCANPOINTSSTREAMER_H
00002 #define SCTDATA_IO_SCANPOINTSSTREAMER_H
00003
00004 #include "Sct/Exception.h"
00005 #include "Sct/Streamer.h"
00006 #include "Sct/LogicErrors.h"
00007 #include "Sct/IoExceptions.h"
00008
00009 class Sct::OStream;
00010 class Sct::IStream;
00011 class Sct::Streamable;
00012
00013 using namespace Sct;
00014
00015 namespace SctData {
00016 namespace IO {
00020 class ScanPointsStreamer : public virtual Streamer {
00021 public:
00022
00023 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00024 virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00025 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00026
00027 private:
00028 ScanPointsStreamer() throw();
00029 static bool inMap;
00030 };
00031 }
00032 }
00033 #endif //#ifndef SCTDATA_IO_SCANPOINTSSTREAMER_H