Document Number: WG21/N0859 = X3J16/96-0041 Date: 30 Jan 1996 Project: C++ Standard Library Reply to: Nathan Myers Locale codecvt<> Shift-state Predicate -------------------------------------- The Standard C Library function mblen() (found in ), when called with a magic combination of argument values, reveals whether the character set encoding has "state-dependent encodings". The C++ locale facilities currently provide no corresponding semantics. Filebuf needs this information for uses that include helping determine whether seeking is possible on a sequence using the encoding. The simplest way to provide this information is by adding a predicate member to codecvt<>. Proposed Resolution ------------------- Add to [lib.locale.codecvt] (22.2.1.5), [lib.locale.codecvt.members] (22.2.1.5.1), and [lib.locale.codecvt.byname] (22.2.1.6) the following members: protected: virtual bool do_has_locking_shift() const throw(); Returns: true if the encoding applied to *from* sequences has state-dependent encodings; false otherwise. public: bool has_locking_shift() const throw(); Returns: do_has_locking_shift()