summaryrefslogtreecommitdiff
path: root/src/common/io.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/io.hpp')
-rw-r--r--src/common/io.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/common/io.hpp b/src/common/io.hpp
new file mode 100644
index 0000000..1831651
--- /dev/null
+++ b/src/common/io.hpp
@@ -0,0 +1,26 @@
+#ifndef TMWA_COMMON_IO_HPP
+#define TMWA_COMMON_IO_HPP
+
+#include <istream>
+#include <ostream>
+
+#include "strings.hpp"
+
+namespace io
+{
+ inline
+ std::istream& getline(std::istream& in, FString& line)
+ {
+ std::string s;
+ if (std::getline(in, s))
+ {
+ std::string::const_iterator begin = s.cbegin(), end = s.cend();
+ if (begin != end && end[-1] == '\r')
+ --end;
+ line = FString(begin, end);
+ }
+ return in;
+ }
+} // namespace io
+
+#endif //TMWA_COMMON_IO_HPP