[libcxx] r224658 - Move test into test/std subdirectory.
Eric Fiselier
eric at efcs.ca
Fri Dec 19 17:40:31 PST 2014
Added: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp (added)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,17887 @@
+//===----------------------------------------------------------------------===//
+//
+// 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.
+//
+//===----------------------------------------------------------------------===//
+
+// <locale>
+
+// class num_put<charT, OutputIterator>
+
+// iter_type put(iter_type s, ios_base& iob, char_type fill, double v) const;
+
+#include <locale>
+#include <ios>
+#include <cassert>
+#include <streambuf>
+#include <cmath>
+#include "test_iterators.h"
+
+typedef std::num_put<char, output_iterator<char*> > F;
+
+class my_facet
+ : public F
+{
+public:
+ explicit my_facet(std::size_t refs = 0)
+ : F(refs) {}
+};
+
+class my_numpunct
+ : public std::numpunct<char>
+{
+public:
+ my_numpunct() : std::numpunct<char>() {}
+
+protected:
+ virtual char_type do_decimal_point() const {return ';';}
+ virtual char_type do_thousands_sep() const {return '_';}
+ virtual std::string do_grouping() const {return std::string("\1\2\3");}
+};
+
+void test1()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = +0.;
+ std::ios ios(0);
+ // %g
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0.00000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0;00000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************0.00000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************0;00000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0.00000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************0;00000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+0.00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************0.00000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+0;00000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************0;00000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(16);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0.000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0;000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(60);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;00000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+void test2()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = 1234567890.125;
+ std::ios ios(0);
+ // %g
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457e+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457e+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457e+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457e+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457e+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457e+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457e+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1.23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457e+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1;23457e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457E+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457E+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.23457E+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;23457E+09**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457E+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457E+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.23457E+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1.23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;23457E+09*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1;23457E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(16);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125***********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000****");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000***");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125***********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000****");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000***");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(60);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125***********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125***********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********+1234567890.125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********1234567890.125");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******1_234_567_89_0;125");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;12500000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+void test3()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = +0.;
+ std::ios ios(0);
+ fixed(ios);
+ // %f
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0************************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0***********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********************+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***********************0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************+0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********************0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0**********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0.0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0.0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0*********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********************+0;0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********************0;0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0.000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0.000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****************+0;000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+****************0;000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(16);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;0000000000000000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0.0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;0000000000000000******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******+0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******0;0000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(60);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0.000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0;000000000000000000000000000000000000000000000000000000000000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+void test4()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = 1234567890.125;
+ std::ios ios(0);
+ fixed(ios);
+ // %f
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890***************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***************1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***************1234567890");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0***********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1234567890.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************+1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**************1234567890");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********+1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1234567890.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;*********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********+1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890***************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***************1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***************1234567890");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0***********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***********1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************1234567890.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890**************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**************+1234567890");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**************1234567890");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0**********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**********+1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+**********1_234_567_89_0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************+1234567890.");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*************1234567890.");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;*********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********+1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*********1_234_567_89_0;");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1*********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1*********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1*********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.1*************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;1*********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.1************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************+1234567890.1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+************1234567890.1");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;1********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********+1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+********1_234_567_89_0;1");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000****");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000****");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000***");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000***");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000****");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1234567890.125000********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1_234_567_89_0;125000****");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "****1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000***");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1234567890.125000*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******1234567890.125000");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_234_567_89_0;125000***");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_234_567_89_0;125000");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(16);
+ {}
+ ios.precision(60);
+ {}
+ }
+ }
+}
+
+void test5()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = -0.;
+ std::ios ios(0);
+ scientific(ios);
+ // %e
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.e+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0.e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0.e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;e+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0;e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0;e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0e+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.e+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0.e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0.e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;e+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0;e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0;e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.E+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0.E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0.E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;E+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0;E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0;E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0E+00*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************-0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*******************0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.E+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0.E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0.E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;E+00******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0;E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0;E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0e+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0.0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0.0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;0E+00*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0;0E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0;0E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000e+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000e+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0.000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0.000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0;000000E+00************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "************-0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-************0;000000E+00");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(16);
+ {
+ }
+ ios.precision(60);
+ {
+ }
+ }
+ }
+}
+
+void test6()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = 1234567890.125;
+ std::ios ios(0);
+ scientific(ios);
+ // %e
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1e+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1e+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1.e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1.e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1;e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1;e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1E+09********************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1E+09*******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******************+1E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******************1E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1.E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1.E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************+1;E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+******************1;E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2e+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2e+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1.2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2e+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1;2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2e+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1.2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1.2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2e+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1;2e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1;2e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.2E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1.2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;2E+09******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************1;2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2E+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1.2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2E+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1;2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.2E+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1.2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1.2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;2E+09*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************+1;2E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*****************1;2E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ }
+ ios.precision(16);
+ {
+ }
+ ios.precision(60);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000e+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1.234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1;234567890125000000000000000000000000000000000000000000000000E+09");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+void test7()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = -0.;
+ std::ios ios(0);
+ hexfloat(ios);
+ // %a
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0p+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0x0p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0x0p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0.p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0.p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0x0;p+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0x0;p+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0P+0******************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "******************-0X0P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-******************0X0P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0.P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0.P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-0X0;P+0*****************");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****************-0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-*****************0X0;P+0");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(16);
+ {
+ }
+ ios.precision(60);
+ {
+ }
+ }
+ }
+}
+
+void test8()
+{
+ char str[200];
+ output_iterator<char*> iter;
+ std::locale lc = std::locale::classic();
+ std::locale lg(lc, new my_numpunct);
+ const my_facet f(1);
+ {
+ double v = 1234567890.125;
+ std::ios ios(0);
+ hexfloat(ios);
+ // %a
+ {
+ ios.precision(0);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(1);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ ios.precision(6);
+ {
+ }
+ ios.precision(16);
+ {
+ }
+ ios.precision(60);
+ {
+ nouppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1.26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x1;26580b488p+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x********1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1.26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1.26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0x1;26580b488p+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0x1;26580b488p+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ uppercase(ios);
+ {
+ noshowpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1.26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X1;26580B488P+30********");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "********0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X********1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ showpos(ios);
+ {
+ noshowpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ showpoint(ios);
+ {
+ ios.imbue(lc);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1.26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1.26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ ios.imbue(lg);
+ {
+ ios.width(0);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ left(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+0X1;26580B488P+30*******");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ right(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*******+0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ ios.width(25);
+ internal(ios);
+ {
+ iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+*******0X1;26580B488P+30");
+ assert(ios.width() == 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+int main()
+{
+ test1();
+ test2();
+ test3();
+ test4();
+ test5();
+ test6();
+ test7();
+ test8();
+}
Added: libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp (added)
+++ libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,371 @@
+//===----------------------------------------------------------------------===//
+//
+// 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.
+//
+//===----------------------------------------------------------------------===//
+
+// <locale>
+
+// class num_put<charT, OutputIterator>
+
+// iter_type put(iter_type s, ios_base& iob, char_type fill, long v) const;
+
+#include <locale>
+#include <ios>
+#include <cassert>
+#include <streambuf>
+#include "test_iterators.h"
+
+typedef std::num_put<char, output_iterator<char*> > F;
+
+class my_facet
+ : public F
+{
+public:
+ explicit my_facet(std::size_t refs = 0)
+ : F(refs) {}
+};
+
+class my_numpunct
+ : public std::numpunct<char>
+{
+public:
+ my_numpunct() : std::numpunct<char>() {}
+
+protected:
+ virtual char_type do_thousands_sep() const {return '_';}
+ virtual std::string do_grouping() const {return std::string("\1\2\3");}
+};
+
+int main()
+{
+ const my_facet f(1);
+ {
+ std::ios ios(0);
+ long v = 0;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0");
+ }
+ {
+ std::ios ios(0);
+ long v = 1;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1");
+ }
+ {
+ std::ios ios(0);
+ long v = -1;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-1");
+ }
+ {
+ std::ios ios(0);
+ long v = -1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-1000");
+ }
+ {
+ std::ios ios(0);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1000");
+ }
+ {
+ std::ios ios(0);
+ showpos(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1000");
+ }
+ {
+ std::ios ios(0);
+ oct(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "1750");
+ }
+ {
+ std::ios ios(0);
+ oct(ios);
+ showbase(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "01750");
+ }
+ {
+ std::ios ios(0);
+ hex(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "3e8");
+ }
+ {
+ std::ios ios(0);
+ hex(ios);
+ showbase(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x3e8");
+ }
+ {
+ std::ios ios(0);
+ hex(ios);
+ showbase(ios);
+ uppercase(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X3E8");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ hex(ios);
+ showbase(ios);
+ uppercase(ios);
+ long v = 1000;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0X3E_8");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ hex(ios);
+ showbase(ios);
+ long v = 2147483647;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x7f_fff_ff_f");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ oct(ios);
+ long v = 0123467;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "123_46_7");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ oct(ios);
+ showbase(ios);
+ long v = 0123467;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0_123_46_7");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ oct(ios);
+ showbase(ios);
+ right(ios);
+ ios.width(15);
+ long v = 0123467;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****0_123_46_7");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ oct(ios);
+ showbase(ios);
+ left(ios);
+ ios.width(15);
+ long v = 0123467;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0_123_46_7*****");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ oct(ios);
+ showbase(ios);
+ internal(ios);
+ ios.width(15);
+ long v = 0123467;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "*****0_123_46_7");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ hex(ios);
+ showbase(ios);
+ right(ios);
+ ios.width(15);
+ long v = 2147483647;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "**0x7f_fff_ff_f");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ hex(ios);
+ showbase(ios);
+ left(ios);
+ ios.width(15);
+ long v = 2147483647;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x7f_fff_ff_f**");
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ hex(ios);
+ showbase(ios);
+ internal(ios);
+ ios.width(15);
+ long v = 2147483647;
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "0x**7f_fff_ff_f");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ showpos(ios);
+ long v = 1000;
+ right(ios);
+ ios.width(10);
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***+1_00_0");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ showpos(ios);
+ long v = 1000;
+ left(ios);
+ ios.width(10);
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+1_00_0***");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ showpos(ios);
+ long v = 1000;
+ internal(ios);
+ ios.width(10);
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "+***1_00_0");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ long v = -1000;
+ right(ios);
+ showpos(ios);
+ ios.width(10);
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "***-1_00_0");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ long v = -1000;
+ left(ios);
+ ios.width(10);
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-1_00_0***");
+ assert(ios.width() == 0);
+ }
+ {
+ std::ios ios(0);
+ ios.imbue(std::locale(std::locale::classic(), new my_numpunct));
+ long v = -1000;
+ internal(ios);
+ ios.width(10);
+ char str[50];
+ std::ios_base::iostate err = ios.goodbit;
+ output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
+ std::string ex(str, iter.base());
+ assert(ex == "-***1_00_0");
+ assert(ios.width() == 0);
+ }
+}
More information about the cfe-commits
mailing list