Go to the documentation of this file.
41int DataStream :: read(std :: string &data)
44 std :: vector< char >str;
45 if ( !this->
read(& n, 1) ) {
50 if ( !this->
read(str.data(), n) ) {
54 data = std::string(str.data(), n);
58int DataStream :: write(
const std :: string &data)
60 int n = ( int ) data.size();
62 return this->
write(data.data(), n);
70 this->
stream = fopen(this->filename.c_str(),
write ?
"wb" :
"rb" );
76FileDataStream :: ~FileDataStream()
81int FileDataStream :: read(
int *data, std::size_t count)
83 return ( fread(data,
sizeof(
int ), count,
stream) == count );
88int FileDataStream :: read(
unsigned long *data, std::size_t count)
90 return ( fread(data,
sizeof(
unsigned long ), count, stream) == count );
93int FileDataStream :: read(
long *data, std::size_t count)
95 return ( fread(data,
sizeof(
long ), count,
stream) == count );
101 return (fread(data,
sizeof(std::size_t), count,
stream) == count);
105int FileDataStream :: read(
double *data, std::size_t count)
107 return ( fread(data,
sizeof(
double ), count,
stream) == count );
110int FileDataStream :: read(
char *data, std::size_t count)
112 return ( fread(data,
sizeof(
char ), count,
stream) == count );
115int FileDataStream :: read(
bool &data)
117 return ( fread(& data,
sizeof(
bool ), 1,
stream) == 1 );
120int FileDataStream :: write(
const int *data, std::size_t count)
122 return ( fwrite(data,
sizeof(
int ), count, stream) == count );
125int FileDataStream :: write(
const unsigned long *data, std::size_t count)
127 return ( fwrite(data,
sizeof(
unsigned long ), count,
stream) == count );
133 return (fwrite(data,
sizeof(std::size_t), count,
stream) == count);
137int FileDataStream :: write(
const long *data, std::size_t count)
139 return ( fwrite(data,
sizeof(
long ), count,
stream) == count );
142int FileDataStream :: write(
const double *data, std::size_t count)
144 return ( fwrite(data,
sizeof(
double ), count,
stream) == count );
147int FileDataStream :: write(
const char *data, std::size_t count)
149 return ( fwrite(data,
sizeof(
char ), count,
stream) == count );
152int FileDataStream :: write(
bool data)
154 return ( fwrite(& data,
sizeof(
bool ), 1,
stream) == 1 );
157int FileDataStream :: givePackSizeOfInt(std::size_t count)
159 return (
int) (
sizeof(int)*count);
162int FileDataStream :: givePackSizeOfDouble(std::size_t count)
164 return (
int) (
sizeof(double)*count);
167int FileDataStream :: givePackSizeOfChar(std::size_t count)
169 return (
int) (
sizeof(char)*count);
172int FileDataStream :: givePackSizeOfBool(std::size_t count)
174 return (
int) (
sizeof(bool)*count);
177int FileDataStream :: givePackSizeOfLong(std::size_t count)
179 return (
int) (
sizeof(long)*count);
182int FileDataStream :: givePackSizeOfSizet(std::size_t count)
184 return (
int) (
sizeof(std::size_t)*count);
virtual int read(int *data, std::size_t count)=0
Reads count integer values into array pointed by data.
virtual int write(const int *data, std::size_t count)=0
Writes count integer values from array pointed by data.
std::string filename
Filename.
FILE * stream
FILE pointer of associated stream.
int read(int *data, std::size_t count) override
Reads count integer values into array pointed by data.
int write(const int *data, std::size_t count) override
Writes count integer values from array pointed by data.
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011