summaryrefslogtreecommitdiffstats
path: root/2022-2/L1/mitsuo/aux.h
diff options
context:
space:
mode:
Diffstat (limited to '2022-2/L1/mitsuo/aux.h')
-rw-r--r--2022-2/L1/mitsuo/aux.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/2022-2/L1/mitsuo/aux.h b/2022-2/L1/mitsuo/aux.h
new file mode 100644
index 0000000..ceb1ff3
--- /dev/null
+++ b/2022-2/L1/mitsuo/aux.h
@@ -0,0 +1,30 @@
+/* Stream manipulator macros
+ * ========================= */
+
+// The parenthesis in C/C++ macros are best practice
+// https://stackoverflow.com/q/7186504/7498073
+
+// string
+// (add space in front to separate adjacent right-aligned and left-aligned
+// fields)
+#define WL(w) " " << setw((w)-1) << left << setprecision(2) << fixed
+
+// number
+#define WR(w) setw(w) << right << setprecision(2) << fixed
+
+// number with some 0-padding part (e.g., a code)
+#define WR0(w, w0, x) setw((w) - (w0)) << "" \
+ << setw(w0) << right << setfill('0') \
+ << setprecision(2) << fixed << (x) \
+ << setfill(' ')
+
+
+/* Project definitions */
+
+#define MAXLEN 100 // fixed length strings
+
+
+/* Function declarations */
+
+int readdate(std::istream &is);
+void writedate(std::ostream &os, int intdate);