//===----------------------------------------------------------------------===// // // 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. // //===----------------------------------------------------------------------===// // // template > // class basic_streambuf; // locale pubimbue(const locale& loc); // locale getloc() const; #include #include template struct test : public std::basic_streambuf { test() {} void imbue(const std::locale&) { assert(this->getloc().name() == "en_US"); } }; int main() { { test t; assert(t.getloc().name() == "C"); } std::locale::global(std::locale("en_US")); { test t; assert(t.getloc().name() == "en_US"); assert(t.pubimbue(std::locale("fr_FR")).name() == "en_US"); assert(t.getloc().name() == "fr_FR"); } }