Control Surface  1.1.1
MIDI Control Surface library for Arduino
PrintStream.hpp
Go to the documentation of this file.
1 
5 #ifndef PrintStream_h
6 #define PrintStream_h
7 
9 AH_DIAGNOSTIC_WERROR() // Enable errors on warnings
10 
12 #include <Arduino.h> // Print
14 
15 
18 typedef Print &manipulator(Print &);
19 
20 Print &endl(Print &printer);
21 Print &flush(Print &printer);
22 Print &hex(Print &printer);
23 Print &bin(Print &printer);
24 Print &dec(Print &printer);
25 /* Print &oct(Print &printer); */
26 Print &boolalpha(Print &printer);
27 Print &noboolalpha(Print &printer);
28 Print &leadingzeros(Print &printer);
29 Print &noleadingzeros(Print &printer);
30 Print &uppercase(Print &printer);
31 Print &nouppercase(Print &printer);
32 Print &showbase(Print &printer);
33 Print &noshowbase(Print &printer);
34 
35 Print &operator<<(Print &printer, const __FlashStringHelper *s);
36 #ifdef ARDUINO
37 Print &operator<<(Print &printer, const String &s);
38 #endif
39 Print &operator<<(Print &printer, const char s[]);
40 Print &operator<<(Print &printer, char c);
41 Print &operator<<(Print &printer, unsigned char c);
42 Print &operator<<(Print &printer, int i);
43 Print &operator<<(Print &printer, unsigned int i);
44 Print &operator<<(Print &printer, int8_t i);
45 Print &operator<<(Print &printer, long i);
46 Print &operator<<(Print &printer, unsigned long i);
47 Print &operator<<(Print &printer, double d);
48 Print &operator<<(Print &printer, const Printable &p);
49 Print &operator<<(Print &printer, bool b);
50 
51 Print &operator<<(Print &printer, manipulator pf);
52 
53 struct Setbase {
54  uint8_t M_base;
55 };
56 Setbase setbase(uint8_t base);
57 Print &operator<<(Print &printer, Setbase f);
58 
59 struct Setprecision {
60  int M_n;
61 };
63 Print &operator<<(Print &printer, Setprecision f);
64 
65 struct Setbytesep {
66  char M_bytesep;
67 };
68 Setbytesep setbytesep(char bytesep);
69 Print &operator<<(Print &printer, Setbytesep f);
70 
72 
73 #ifndef ARDUINO
74 
75 #include <iomanip>
76 #include <iostream>
77 
78 // TODO: check conflicts between Arduino version and C++ STL version
79 using std::endl;
80 // using std::setbase;
81 // using std::setprecision;
82 using std::boolalpha;
83 using std::dec;
84 using std::flush;
85 using std::hex;
86 using std::noboolalpha;
87 using std::noshowbase;
88 using std::nouppercase;
89 using std::showbase;
90 using std::uppercase;
91 
92 inline std::ostream &operator<<(std::ostream &os, uint8_t u) {
93  // I'm lazy, I should probably implement one for uint8_t to get the leading
94  // zeros right
95  return os << static_cast<unsigned short>(u);
96 }
97 
98 inline std::ostream &operator<<(std::ostream &os,
99  const __FlashStringHelper *s) {
100  return os << reinterpret_cast<const char *>(s);
101 }
102 
103 #endif
104 
106 
107 #endif // PrintStream_h
showbase
Print & showbase(Print &printer)
Definition: PrintStream.cpp:45
Setbase::M_base
uint8_t M_base
Definition: PrintStream.hpp:54
setprecision
Setprecision setprecision(int n)
Definition: PrintStream.cpp:193
leadingzeros
Print & leadingzeros(Print &printer)
Definition: PrintStream.cpp:91
Warnings.hpp
bin
Print & bin(Print &printer)
Definition: PrintStream.cpp:72
setbase
Setbase setbase(uint8_t base)
Definition: PrintStream.cpp:177
AH_DIAGNOSTIC_POP
#define AH_DIAGNOSTIC_POP()
Definition: Warnings.hpp:17
Setbytesep::M_bytesep
char M_bytesep
Definition: PrintStream.hpp:66
setbytesep
Setbytesep setbytesep(char bytesep)
Definition: PrintStream.cpp:185
noshowbase
Print & noshowbase(Print &printer)
Definition: PrintStream.cpp:50
nouppercase
Print & nouppercase(Print &printer)
Definition: PrintStream.cpp:40
manipulator
Print & manipulator(Print &)
Definition: PrintStream.hpp:18
noboolalpha
Print & noboolalpha(Print &printer)
Definition: PrintStream.cpp:86
Setbytesep
Definition: PrintStream.hpp:65
Setbase
Definition: PrintStream.hpp:53
boolalpha
Print & boolalpha(Print &printer)
Definition: PrintStream.cpp:82
operator<<
Print & operator<<(Print &printer, const __FlashStringHelper *s)
Definition: PrintStream.cpp:99
flush
Print & flush(Print &printer)
Definition: PrintStream.cpp:55
AH_DIAGNOSTIC_EXTERNAL_HEADER
#define AH_DIAGNOSTIC_EXTERNAL_HEADER()
Definition: Warnings.hpp:18
noleadingzeros
Print & noleadingzeros(Print &printer)
Definition: PrintStream.cpp:95
uppercase
Print & uppercase(Print &printer)
Definition: PrintStream.cpp:35
hex
Print & hex(Print &printer)
Definition: PrintStream.cpp:62
endl
Print & endl(Print &printer)
Definition: PrintStream.cpp:27
AH_DIAGNOSTIC_WERROR
#define AH_DIAGNOSTIC_WERROR()
Definition: Warnings.hpp:16
dec
Print & dec(Print &printer)
Definition: PrintStream.cpp:77
Setprecision::M_n
int M_n
Definition: PrintStream.hpp:60
Setprecision
Definition: PrintStream.hpp:59