[過去ログ] Boost総合スレ part7 (989レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
803(1): デフォルトの名無しさん [sage] 2009/07/30(木) 20:46:58 AAS
>>802802(1): デフォルトの名無しさん [sage] 2009/07/30(木) 11:41:05 AAS
std::wstring hoge(L"hoge");
を boost::archive::xml_woarchive でシリアライズすると
<hoge>
<count>5</count>
<item>104</item>
<item>111</item>
<item>103</item>
<item>101</item>
<item>0</item>
</hoge>
と,一要素ずつが出力されてしまいます.
これは boost が意図した動作なのでしょうか?
できれば
<hoge>
<count>1</count>
<item>hoge</item>
</hoge>
こういう感じで出力してほしいのですが
コンパイラは何?
typedef unsigned short wchar_t;って実装されているんじゃないの?
そのコンパイラでは、VC++みたいにwchar_tを独立した型にするオプションが使えたりしないか?
812(1): デフォルトの名無しさん [sage] 2009/07/31(金) 09:27:59 AAS
>>803
すいません std::wstring ではなく誤って wchar_t* をシリアライズしていたのが
原因でした。
ところで、もう一つ質問があります。
template <class Archive>
void load(Archive& ar, const unsigned int)
{
ar & boost::serialization::make_nvp("URL", url_);
}
現在このようにしてURLを読み込んでいるのですが、クラスの不変条件として
メンバ変数 url_ が PathIsURL() を満たすようにしています。
そこで、上記関数 load 中で url_ の値をチェックして(不正なURLなら)例外を
投げるようにしたのですが、どうにもうまくいきません(不正なURLを与えても例
外自体が生じません)。
上記のような目的を達成するにはどうすればよいのでしょうか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s