00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __ERS_ISSUE_STREAM__
00012 #define __ERS_ISSUE_STREAM__
00013
00014 #include <string>
00015 #include <iostream>
00016
00017 #include "ers/Core.h"
00018 #include "ers/Context.h"
00019
00020 namespace ers {
00021
00022 class Issue ;
00023
00035 class Stream {
00036 friend class Issue ;
00037 protected:
00038 public:
00039 static const char* const NULL_STREAM_KEY ;
00040 Stream();
00041 Stream(const Stream &other);
00042 operator std::string() const ;
00043 virtual ~Stream();
00044 virtual void send(const Issue *i) ;
00045 virtual Issue *receive() ;
00046 virtual void print_to(std::ostream& stream) const ;
00047 } ;
00048 std::ostream& operator<<(std::ostream& target, const ers::Stream & s);
00049
00050 }
00051
00052
00053
00054
00055 #endif
00056