[過去ログ] Boost総合スレ part7 (989レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
803
(1): デフォルトの名無しさん [sage] 2009/07/30(木) 20:46:58 AAS
>>802
802(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