diff options
Diffstat (limited to 'test/std/re/re.submatch/re.submatch.op/stream.pass.cpp')
-rw-r--r-- | test/std/re/re.submatch/re.submatch.op/stream.pass.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/std/re/re.submatch/re.submatch.op/stream.pass.cpp b/test/std/re/re.submatch/re.submatch.op/stream.pass.cpp new file mode 100644 index 0000000000000..050bb062e7108 --- /dev/null +++ b/test/std/re/re.submatch/re.submatch.op/stream.pass.cpp @@ -0,0 +1,42 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <regex> + +// template <class BidirectionalIterator> class sub_match; + +// template <class charT, class ST, class BiIter> +// basic_ostream<charT, ST>& +// operator<<(basic_ostream<charT, ST>& os, const sub_match<BiIter>& m); + +#include <regex> +#include <sstream> +#include <cassert> + +template <class CharT> +void +test(const std::basic_string<CharT>& s) +{ + typedef std::basic_string<CharT> string; + typedef std::sub_match<typename string::const_iterator> SM; + typedef std::basic_ostringstream<CharT> ostringstream; + SM sm; + sm.first = s.begin(); + sm.second = s.end(); + sm.matched = true; + ostringstream os; + os << sm; + assert(os.str() == s); +} + +int main() +{ + test(std::string("123")); + test(std::wstring(L"123")); +} |