1#ifndef OSGDB_STREAMOPERATOR
2#define OSGDB_STREAMOPERATOR
20 OutputIterator() : _out(0), _outputStream(0), _supportBinaryBrackets(false) {}
23 void setStream( std::ostream* ostream ) { _out = ostream; }
25 const std::ostream*
getStream()
const {
return _out; }
50 virtual void writeStream( std::ostream& (*fn)(std::ostream&) ) = 0;
51 virtual void writeBase( std::ios_base& (*fn)(std::ios_base&) ) = 0;
59 virtual void flush() { _out->flush(); }
63 bool isEndl( std::ostream& (*fn)(std::ostream&) )
65#if defined (__sun) || (defined _WIN32 && !defined OSG_LIBRARY_STATIC)
70 std::string s = ss.str();
71 return !s.empty() && s[0] ==
'\n';
73 return fn==
static_cast<std::ostream& (*)(std::ostream&)
>(std::endl);
85 InputIterator() : _in(0), _inputStream(0), _byteSwap(0), _supportBinaryBrackets(false), _failed(false) {}
88 void setStream( std::istream* istream ) { _in = istream; }
90 const std::istream*
getStream()
const {
return _in; }
120 virtual void readStream( std::istream& (*fn)(std::istream&) ) = 0;
121 virtual void readBase( std::ios_base& (*fn)(std::ios_base&) ) = 0;
134 void readComponentArray(
char* s,
unsigned int numElements,
unsigned int numComponentsPerElements,
unsigned int componentSizeInBytes);
Definition StreamOperator:18
virtual void writeString(const std::string &s)=0
virtual bool isBinary() const =0
bool isEndl(std::ostream &(*fn)(std::ostream &))
Definition StreamOperator:63
OutputStream * getOutputStream()
Definition StreamOperator:28
virtual void writeInt64(GLint64 ll)=0
std::ostream * getStream()
Definition StreamOperator:24
virtual void writeWrappedString(const std::string &str)=0
virtual void writeGLenum(const ObjectGLenum &value)=0
virtual void writeUShort(unsigned short s)=0
OutputIterator()
Definition StreamOperator:20
osgDB::OutputStream * _outputStream
Definition StreamOperator:78
virtual ~OutputIterator()
Definition StreamOperator:21
virtual void writeChar(char c)=0
virtual void writeMark(const ObjectMark &mark)=0
virtual void writeUInt64(GLuint64 ull)=0
bool getSupportBinaryBrackets() const
Definition StreamOperator:32
virtual void flush()
Definition StreamOperator:59
virtual void writeDouble(double d)=0
void setOutputStream(OutputStream *outputStream)
Definition StreamOperator:27
virtual void writeBool(bool b)=0
virtual void writeLong(long l)=0
virtual void writeCharArray(const char *s, unsigned int size)=0
bool _supportBinaryBrackets
Definition StreamOperator:79
virtual void writeUInt(unsigned int i)=0
virtual void writeShort(short s)=0
virtual void writeBase(std::ios_base &(*fn)(std::ios_base &))=0
virtual void writeFloat(float f)=0
virtual void writeStream(std::ostream &(*fn)(std::ostream &))=0
void setSupportBinaryBrackets(bool b)
Definition StreamOperator:31
virtual void writeULong(unsigned long l)=0
virtual void writeUChar(unsigned char c)=0
virtual void writeInt(int i)=0
const OutputStream * getOutputStream() const
Definition StreamOperator:29
virtual void writeProperty(const ObjectProperty &prop)=0
const std::ostream * getStream() const
Definition StreamOperator:25
void setStream(std::ostream *ostream)
Definition StreamOperator:23
std::ostream * _out
Definition StreamOperator:77
Definition OutputStream:57
#define OSGDB_EXPORT
Definition osgDB/Export:39