Streams.h
Go to the documentation of this file.
1 
20 #pragma once
21 
22 #include <unistd.h>
23 
24 namespace Host
25 {
26 class OutputStream : public Print
27 {
28 public:
29  OutputStream(int fileno) : fileno(fileno)
30  {
31  }
32 
33  virtual size_t write(uint8_t c) override
34  {
35  return write(&c, 1);
36  }
37 
38  size_t write(const uint8_t* buffer, size_t size) override
39  {
40  return ::write(fileno, buffer, size);
41  }
42 
43 private:
44  int fileno;
45 };
46 
48 OutputStream standardError(STDERR_FILENO);
49 
50 }; // namespace Host
Definition: Streams.h:27
OutputStream(int fileno)
Definition: Streams.h:29
virtual size_t write(uint8_t c) override
Writes a single character to output stream.
Definition: Streams.h:33
size_t write(const uint8_t *buffer, size_t size) override
Writes characters from a buffer to output stream.
Definition: Streams.h:38
Provides formatted output to stream.
Definition: Print.h:37
Definition: Streams.h:25
OutputStream standardError(STDERR_FILENO)
OutputStream standardOutput(STDOUT_FILENO)