File: floats.h

package info (click to toggle)
c%2B%2B-annotations 12.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 13,044 kB
  • sloc: cpp: 24,337; makefile: 1,517; ansic: 165; sh: 121; perl: 90
file content (42 lines) | stat: -rw-r--r-- 671 bytes parent folder | download | duplicates (2)
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