1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#ifndef INCLUDED_FLOATS_
#define INCLUDED_FLOATS_
#include <string>
//floats
class Reader;
class Writer;
class Floats
{
enum Action
{
READ,
WRITE,
ERROR,
};
Action d_action;
std::string d_filename; // name of the binary file
static void (Floats::*s_action[])() const; // pointers to read and write
public:
Floats(int argc, char **argv);
void run() const;
private:
void read() const;
Reader coRead() const;
void write() const;
static Writer coWrite();
};
inline void Floats::run() const
{
(this->*s_action[d_action])();
}
//=
#endif
|