から派生してカスタム ロケールを作成していますstd::codecvt
。私が実装することになっているメソッドのほとんどは、 this を除いて非常に単純ですstd::mbstate_t
。私のコンパイラvs2010では、.として宣言されていint
ます。しかし、グーグルはそれがPODタイプであると私に言います。それは時々(私が知らないものの)ユニオンまたは構造体(再び私はそれを見つけることができません)です。
私が理解しているように、std::mbstate_t
部分変換のプレースホルダーです。std::codecvt::on_out()
そして、出力を書き込むためにより多くのスペースが必要な場合に効果を発揮すると思いますstd::codecvt::do_unshift()
。私の仮定が間違っている場合は修正してください。
ポインターの保存に関する別の投稿を読みましたが、投稿には適切な回答がありません。標準では16ビット以上であると述べられていますが、32ビットタイプであると想定するこの例も読みました。int
私の質問。std::mbstate_t に何を安全に保存できますか? 別のタイプに安全に交換できますか? 上記の投稿への回答はそれを置き換えることを提案していますが、次のコメントはそうではありません。