//===----------------------------------------------------------------------===// // // 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 codecvt // int length(stateT& state, const externT* from, const externT* from_end, size_t max) const; #include #include typedef std::codecvt F; int main() { std::locale l = std::locale::classic(); const F& f = std::use_facet(l); std::mbstate_t mbs = {0}; const char from[10]= {0}; assert(f.length(mbs, from, from+10, 0) == 0); assert(f.length(mbs, from, from+10, 9) == 9); assert(f.length(mbs, from, from+10, 10) == 10); assert(f.length(mbs, from, from+10, 11) == 10); assert(f.length(mbs, from, from+10, 100) == 10); }