File: write.cc

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 (23 lines) | stat: -rw-r--r-- 623 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
#include "floats.ih"

    // this function merely uses the coroutine's next value.

//write
void Floats::write() const
{
    ofstream out{ d_filename };

    Writer writer = coWrite();          // coWrite: the coroutine,
                                        // writer: the coroutine's handler
    cout << "Enter values (one per prompt), enter 'q' to quit\n";

    while (true)
    {
        cout << "? ";
        auto opt = writer.next();       // retrieve the next value
        if (not opt)                    // stop if no more values
            break;
        out.write(&opt.value()[0], sizeof(float));
    }
}
//=