summaryrefslogtreecommitdiffstats
path: root/vespalib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-05-23 11:45:00 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-05-23 11:45:00 +0000
commit843f6c5b0b34c2e8848fac62fc4eab5b96515f89 (patch)
tree64750136500770df515ba6a8855709f6f9f9182b /vespalib
parent36f654954bf604fdd4449ffd887a0b48106d354b (diff)
Verify both signed char and unsigned char
Diffstat (limited to 'vespalib')
-rw-r--r--vespalib/src/tests/stllike/asciistream_test.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/stllike/asciistream.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/vespalib/src/tests/stllike/asciistream_test.cpp b/vespalib/src/tests/stllike/asciistream_test.cpp
index 1742b7244a6..b0f6d8cb455 100644
--- a/vespalib/src/tests/stllike/asciistream_test.cpp
+++ b/vespalib/src/tests/stllike/asciistream_test.cpp
@@ -508,6 +508,8 @@ AsciistreamTest::Main()
TEST_DO(verify<double>(7.89, -1.3, "7.89", "7.89 -1.3", ' '));
TEST_DO(verify<bool>(true, false, "1", "1 0", ' '));
TEST_DO(verify<char>(65, 66, "A", "A B", ' '));
+ TEST_DO(verify<unsigned char>(65, 66, "A", "A B", ' '));
+ TEST_DO(verify<signed char>(65, 66, "A", "A B", ' '));
// TEST_DO(verify<int8_t>(65, -1, "65", "65 -1", ' '));
TEST_DO(verify<int16_t>(0, -1, "0", "0 -1", ' '));
TEST_DO(verify<int16_t>(789, -1, "789", "789 -1", ' '));
diff --git a/vespalib/src/vespa/vespalib/stllike/asciistream.h b/vespalib/src/vespa/vespalib/stllike/asciistream.h
index 2f11d902283..ca16deaa4c3 100644
--- a/vespalib/src/vespa/vespalib/stllike/asciistream.h
+++ b/vespalib/src/vespa/vespalib/stllike/asciistream.h
@@ -40,6 +40,7 @@ public:
void swap(asciistream & rhs) noexcept;
asciistream & operator << (bool v) { if (v) { *this << '1'; } else { *this << '0'; } return *this; }
asciistream & operator << (char v) { doFill(1); write(&v, 1); return *this; }
+ asciistream & operator << (signed char v) { doFill(1); write(&v, 1); return *this; }
asciistream & operator << (unsigned char v) { doFill(1); write(&v, 1); return *this; }
asciistream & operator << (const char * v) { if (v != nullptr) { size_t n(strlen(v)); doFill(n); write(v, n); } return *this; }
asciistream & operator << (const string & v) { doFill(v.size()); write(v.data(), v.size()); return *this; }