1 #ifndef DUNE_FEM_STANDARDSTREAMS_HH 2 #define DUNE_FEM_STANDARDSTREAMS_HH 8 #ifdef SYSTEM_ENDIAN_HEADER 9 #include SYSTEM_ENDIAN_HEADER 25 #if __BYTE_ORDER == __LITTLE_ENDIAN 27 #elif __BYTE_ORDER == __BIG_ENDIAN 32 static inline size_t map(
const size_t pos,
36 return ( order == defaultEndian ) ? pos : ( size - pos - 1 );
70 using BaseType::writeError;
81 DUNE_THROW( Dune::IOError,
"Stream not valid!" );
85 std::ostream&
stream() {
return stream_; }
96 writePrimitive( value );
102 writePrimitive( value );
108 writePrimitive( value );
114 writePrimitive( value );
120 writePrimitive( value );
126 const unsigned int length = s.length();
127 writePrimitive( length );
128 for(
unsigned int i = 0; i < length; ++i )
129 writePrimitive( s[ i ] );
135 writePrimitive( value );
141 writePrimitive( value );
147 return bool( stream_ );
153 const size_t tsize =
sizeof( T );
154 union { T value;
char bytes[ tsize ]; } convert;
157 convert.value = value;
160 assert(
sizeof(
char) == 1 ) ;
163 for(
size_t i=0; i<tsize; ++i )
205 using BaseType::readError;
216 DUNE_THROW( Dune::IOError,
"Stream not valid!" );
220 std::istream&
stream() {
return stream_; }
225 readPrimitive( value );
231 readPrimitive( value );
237 readPrimitive( value );
243 readPrimitive( value );
249 readPrimitive( value );
256 readPrimitive( length );
260 for(
unsigned int i = 0; i < length; ++i )
262 readPrimitive( s[ i ] );
269 readPrimitive( value );
275 readPrimitive( value );
281 return stream_.good() | stream_.eof();
287 const size_t tsize =
sizeof( T ) ;
288 union { T value;
char bytes[ tsize ]; } convert;
291 assert(
sizeof(
char) == 1 ) ;
294 for(
size_t i=0; i<tsize; ++i )
300 value = convert.value;
314 #endif // #ifndef DUNE_FEM_BINARYSTREAMS_HH static size_t map(const size_t pos, const size_t size)
Definition: standardstreams.hh:32
static const char defaultEndian
Definition: standardstreams.hh:23
void readInt(int &value)
read an int from the stream
Definition: standardstreams.hh:235
bool valid() const
Definition: standardstreams.hh:145
input stream reading from a given std::istream
Definition: standardstreams.hh:194
void readUnsignedInt64(uint64_t &value)
read an uint64_t from the stream
Definition: standardstreams.hh:273
void writeBool(const bool value)
write a char to the stream
Definition: standardstreams.hh:118
std::istream & stream_
Definition: standardstreams.hh:307
StandardOutStream(std::ostream &stream)
constructor
Definition: standardstreams.hh:77
Definition: standardstreams.hh:20
void readString(std::string &s)
read a string from the stream
Definition: standardstreams.hh:253
void writeChar(const char value)
write a char to the stream
Definition: standardstreams.hh:112
std::ostream & stream()
Definition: standardstreams.hh:85
void readPrimitive(T &value)
Definition: standardstreams.hh:285
Definition: standardstreams.hh:43
void writeUnsignedInt(unsigned int value)
write an unsigned int to the stream
Definition: standardstreams.hh:133
void flush()
flush the stream
Definition: standardstreams.hh:88
static const char order
Definition: standardstreams.hh:24
std::ostream & stream_
Definition: standardstreams.hh:173
StandardInStream(std::istream &stream)
constructor
Definition: standardstreams.hh:212
void readUnsignedInt(unsigned int &value)
read an unsigned int from the stream
Definition: standardstreams.hh:267
output stream writing into a given std::ostream
Definition: standardstreams.hh:59
void writeUnsignedInt64(uint64_t value)
write an uint64_t to the stream
Definition: standardstreams.hh:139
Definition: coordinate.hh:4
abstract interface for an input stream
Definition: streams.hh:177
void readChar(char &value)
read a char from the stream
Definition: standardstreams.hh:241
std::istream & stream()
Definition: standardstreams.hh:220
void writeString(const std::string &s)
write a string to the stream
Definition: standardstreams.hh:124
void readDouble(double &value)
read a double from the stream
Definition: standardstreams.hh:223
bool valid() const
Definition: standardstreams.hh:279
StandardOutStream OutStreamType
Definition: standardstreams.hh:45
void writeDouble(const double value)
write a double to the stream
Definition: standardstreams.hh:94
StandardOutStreamTraits Traits
type of the traits
Definition: standardstreams.hh:67
void writePrimitive(const T &value)
Definition: standardstreams.hh:151
StandardInStream InStreamType
Definition: standardstreams.hh:179
Definition: standardstreams.hh:177
void readBool(bool &value)
read a bool from the stream
Definition: standardstreams.hh:247
void writeFloat(const float value)
write a float to the stream
Definition: standardstreams.hh:100
void readFloat(float &value)
read a float from the stream
Definition: standardstreams.hh:229
StandardInStreamTraits Traits
type of the traits
Definition: standardstreams.hh:202
void writeInt(const int value)
write an int to the stream
Definition: standardstreams.hh:106
abstract interface for an output stream
Definition: streams.hh:44