1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===// 2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 3f5256e16dfc425c1d466f6308d4026d529ce9e0bHoward Hinnant// The LLVM Compiler Infrastructure 4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===// 943807c2fbad2eb788250dccfc4c61205efb6b7aaDaniel Dunbar// 1043807c2fbad2eb788250dccfc4c61205efb6b7aaDaniel Dunbar// XFAIL: apple-darwin 11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// <locale> 13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// class moneypunct_byname<charT, International> 15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// pattern pos_format() const; 17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <locale> 19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <limits> 20bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <cassert> 21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 2283e2c4d877fe2d7793868b1c6a5d9525a7c4d431Marshall Clow#include "platform_support.h" // locale name macros 23c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant 24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantclass Fnf 25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : public std::moneypunct_byname<char, false> 26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantpublic: 28bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant explicit Fnf(const std::string& nm, std::size_t refs = 0) 29bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : std::moneypunct_byname<char, false>(nm, refs) {} 30bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}; 31bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 32bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantclass Fnt 33bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : public std::moneypunct_byname<char, true> 34bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 35bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantpublic: 36bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant explicit Fnt(const std::string& nm, std::size_t refs = 0) 37bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : std::moneypunct_byname<char, true>(nm, refs) {} 38bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}; 39bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 40bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantclass Fwf 41bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : public std::moneypunct_byname<wchar_t, false> 42bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 43bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantpublic: 44bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant explicit Fwf(const std::string& nm, std::size_t refs = 0) 45bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : std::moneypunct_byname<wchar_t, false>(nm, refs) {} 46bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}; 47bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 48bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantclass Fwt 49bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : public std::moneypunct_byname<wchar_t, true> 50bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 51bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantpublic: 52bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant explicit Fwt(const std::string& nm, std::size_t refs = 0) 53bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant : std::moneypunct_byname<wchar_t, true>(nm, refs) {} 54bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}; 55bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 56bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantint main() 57bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 58bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 59bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant Fnf f("C", 1); 60bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 61bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::symbol); 62bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::sign); 63bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 64bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 65bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 66bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 67bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant Fnt f("C", 1); 68bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 69bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::symbol); 70bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::sign); 71bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 72bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 73bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 74bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 75bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant Fwf f("C", 1); 76bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 77bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::symbol); 78bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::sign); 79bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 80bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 81bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 82bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 83bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant Fwt f("C", 1); 84bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 85bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::symbol); 86bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::sign); 87bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 88bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 89bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 90bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 91bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 92c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnf f(LOCALE_en_US_UTF_8, 1); 93bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 94bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 95bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::symbol); 96bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 97bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 98bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 99bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 100c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnt f(LOCALE_en_US_UTF_8, 1); 101bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 102bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 103bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::symbol); 104bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 105bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 106bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 107bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 108c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwf f(LOCALE_en_US_UTF_8, 1); 109bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 110bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 111bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::symbol); 112bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 113bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 114bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 115bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 116c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwt f(LOCALE_en_US_UTF_8, 1); 117bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 118bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 119bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::symbol); 120bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 121bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 122bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 123bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 124bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 125c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnf f(LOCALE_fr_FR_UTF_8, 1); 126bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 127bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 128bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 129558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 130bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 131bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 132bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 133c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnt f(LOCALE_fr_FR_UTF_8, 1); 134bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 135bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 136bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 137558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 138bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 139bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 140bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 141c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwf f(LOCALE_fr_FR_UTF_8, 1); 142bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 143bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 144bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 145558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 146bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 147bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 148bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 149c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwt f(LOCALE_fr_FR_UTF_8, 1); 150bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 151bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 152bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 153558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 154bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 155bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 156bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 157bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 158c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnf f(LOCALE_ru_RU_UTF_8, 1); 159bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 160bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 161bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 162558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 163bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 164bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 165bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 166c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnt f(LOCALE_ru_RU_UTF_8, 1); 167bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 168bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 169bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 170558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 171bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 172bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 173bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 174c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwf f(LOCALE_ru_RU_UTF_8, 1); 175bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 176bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 177bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 178558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 179bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 180bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 181bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 182c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwt f(LOCALE_ru_RU_UTF_8, 1); 183bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 184bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 185bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::value); 186558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[2] == std::money_base::none); 187bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::symbol); 188bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 189bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 190bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 191c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnf f(LOCALE_zh_CN_UTF_8, 1); 192bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 193558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[0] == std::money_base::symbol); 194558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[1] == std::money_base::sign); 195bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 196bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 197bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 198bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 199c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fnt f(LOCALE_zh_CN_UTF_8, 1); 200bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 201bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 202bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::symbol); 203bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 204bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 205bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 206bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 207c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwf f(LOCALE_zh_CN_UTF_8, 1); 208bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 209558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[0] == std::money_base::symbol); 210558ae17391455e18d3cc63ead57ba0b8aba49a3fJeffrey Yasskin assert(p.field[1] == std::money_base::sign); 211bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 212bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 213bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 214bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 215c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant Fwt f(LOCALE_zh_CN_UTF_8, 1); 216bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant std::money_base::pattern p = f.pos_format(); 217bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[0] == std::money_base::sign); 218bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[1] == std::money_base::symbol); 219bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[2] == std::money_base::none); 220bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(p.field[3] == std::money_base::value); 221bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 222bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant} 223