//===----------------------------------------------------------------------===// // // 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 bool has_facet(const locale& loc) throw(); #include #include struct my_facet : public std::locale::facet { static std::locale::id id; }; std::locale::id my_facet::id; int main() { std::locale loc; assert(std::has_facet >(loc)); assert(!std::has_facet(loc)); std::locale loc2(loc, new my_facet); assert(std::has_facet(loc2)); }