67 virtual int read(
int *data, std::size_t count) = 0;
68 int read(
int &data) {
return this->
read(&data, 1); }
70 virtual int read(
unsigned long *data, std::size_t count) = 0;
71 int read(
unsigned long &data) {
return this->
read(&data, 1); }
74 virtual int read(std::size_t* data, std::size_t count) = 0;
75 int read(std::size_t& data) {
return this->read(&data, 1); }
78 virtual int read(
long *data, std::size_t count) = 0;
79 int read(
long &data) {
return this->
read(&data, 1); }
81 virtual int read(
double *data, std::size_t count) = 0;
82 int read(
double &data) {
return this->
read(&data, 1); }
84 virtual int read(
char *data, std::size_t count) = 0;
85 int read(
char &data) {
return this->
read(&data, 1); }
87 virtual int read(
bool &data) = 0;
89 int read(std :: string &data);
99 virtual int write(
const int *data, std::size_t count) = 0;
102 virtual int write(
const unsigned long *data, std::size_t count) = 0;
103 int write(
unsigned long data) {
return this->
write(&data, 1); }
106 virtual int write(
const std::size_t* data, std::size_t count) = 0;
107 int write(std::size_t data) {
return this->write(&data, 1); }
110 virtual int write(
const long *data, std::size_t count) = 0;
113 virtual int write(
const double *data, std::size_t count) = 0;
116 virtual int write(
const char *data, std::size_t count) = 0;
121 int write(
const std :: string &data);
123 int write(
const char *data) {
return this->
write(std :: string(data)); }
154 CantOpen(std::string file): std::runtime_error(
"can't open file"),
filename(std::move(file)) {}
169 int read(
int *data, std::size_t count)
override;
170 int read(
unsigned long *data, std::size_t count)
override;
172 int read(std::size_t *data, std::size_t count)
override;
174 int read(
long *data, std::size_t count)
override;
175 int read(
double *data, std::size_t count)
override;
176 int read(
char *data, std::size_t count)
override;
177 int read(
bool &data)
override;
179 int write(
const int *data, std::size_t count)
override;
180 int write(
const unsigned long *data, std::size_t count)
override;
182 int write(
const std::size_t* data, std::size_t count)
override;
184 int write(
const long *data, std::size_t count)
override;
185 int write(
const double *data, std::size_t count)
override;
186 int write(
const char *data, std::size_t count)
override;
187 int write(
bool data)
override;
virtual int write(const char *data, std::size_t count)=0
Writes count char values from array pointed by data.
virtual int givePackSizeOfLong(std::size_t count)=0
virtual int read(bool &data)=0
Reads a bool value from data.
virtual int read(int *data, std::size_t count)=0
Reads count integer values into array pointed by data.
int write(const char *data)
Writes a string (wrapper needed, otherwise write(bool) is called ).
virtual int givePackSizeOfDouble(std::size_t count)=0
virtual int write(const long *data, std::size_t count)=0
Writes count long values from array pointed by data.
int write(unsigned long data)
virtual int givePackSizeOfSizet(std::size_t count)=0
virtual int read(long *data, std::size_t count)=0
Reads count long values into array pointed by data.
virtual int write(bool data)=0
Writes a bool value.
virtual int read(double *data, std::size_t count)=0
Reads count double 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.
virtual int givePackSizeOfBool(std::size_t count)=0
virtual int read(char *data, std::size_t count)=0
Reads count char values into array pointed by data.
virtual ~DataStream()
Destructor.
virtual int givePackSizeOfChar(std::size_t count)=0
virtual int givePackSizeOfInt(std::size_t count)=0
virtual int read(unsigned long *data, std::size_t count)=0
Reads count unsigned long values into array pointed by data.
int read(unsigned long &data)
virtual int write(const double *data, std::size_t count)=0
Writes count double values from array pointed by data.
virtual int write(const unsigned long *data, std::size_t count)=0
Writes count unsigned long values from array pointed by data.
CantOpen(std::string file)
int givePackSizeOfDouble(std::size_t count) override
int givePackSizeOfInt(std::size_t count) override
int givePackSizeOfSizet(std::size_t count) override
std::string filename
Filename.
FILE * stream
FILE pointer of associated stream.
FileDataStream(std ::string filename, bool write)
Constructor, takes associated stream pointer as parameter.
int givePackSizeOfChar(std::size_t count) override
int givePackSizeOfBool(std::size_t count) override
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.
int givePackSizeOfLong(std::size_t count) override