7 #ifndef __data_Stream_h__ 8 #define __data_Stream_h__ 14 class FE_DL_EXPORT StreamI:
16 public CastableAs<StreamI>
19 virtual void bind(sp<Scope> spScope) = 0;
20 virtual void output(std::ostream &ostm, sp<RecordGroup> spRG) = 0;
21 virtual sp<RecordGroup> input(std::istream &istrm) = 0;
24 class FE_DL_EXPORT FileStreamI:
26 public CastableAs<FileStreamI>
29 virtual void bind(sp<Scope> spScope) = 0;
30 virtual void output(
const String &a_file, sp<RecordGroup> spRG) = 0;
31 virtual sp<RecordGroup> input(
const String &a_file) = 0;
34 class FE_DL_EXPORT AsciiFileStream:
35 virtual public FileStreamI,
36 public CastableAs<AsciiFileStream>
39 AsciiFileStream(
void);
40 virtual ~AsciiFileStream(
void);
41 virtual void bind(sp<Scope> spScope);
42 virtual void output(
const String &a_file, sp<RecordGroup> spRG);
43 virtual sp<RecordGroup> input(
const String &a_file);
44 const String& name(
void)
const {
return m_name; }
47 sp<StreamI> m_spStream;
51 class FE_DL_EXPORT BinaryFileStream:
52 virtual public FileStreamI,
53 public CastableAs<BinaryFileStream>
56 BinaryFileStream(
void);
57 virtual ~BinaryFileStream(
void);
58 virtual void bind(sp<Scope> spScope);
59 virtual void output(
const String &a_file, sp<RecordGroup> spRG);
60 virtual sp<RecordGroup> input(
const String &a_file);
61 const String& name(
void)
const {
return m_name; }
64 sp<StreamI> m_spStream;
68 #define FE_SERIAL_VERSION 5 84 virtual public StreamI,
94 const String& name(
void)
const {
return m_name; }
105 virtual public StreamI,
115 const String& name(
void)
const {
return m_name; }
Ascii IO.
Definition: Stream.h:83
Binary IO.
Definition: Stream.h:104
kernel
Definition: namespace.dox:3
Automatically reference-counted string container.
Definition: String.h:128
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192