<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1642088</guid>
        <pubDate>Fri, 20 Jul 2007 19:26:49 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1642088</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1641953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-07-20T19:38:20+04:00">20.07.07, 15:38</time></span><div class='quote '>Если тебя не устраивает копирование очереди при сериализации - это единственное, что ты можешь сделать. Правильность-неправильность побоку.</div></div><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1641953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-07-20T15:38:20+00:00">20.07.07, 15:38</time></span><div class='quote '>Смущает? Я тебе еще утром сказал, что только с копированием очереди её элементы можно сериализовать. </div></div><br>
ну почему - можно же save_queue изменять сразу s, а не его временную копию. Тогда копирования можно избежать.<br>
Правда нарушится сигнатура метода...]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1641953</guid>
        <pubDate>Fri, 20 Jul 2007 15:38:20 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1641953</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1641276'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-07-20T08:51:17+00:00">20.07.07, 08:51</time></span><div class='quote '>А правильно ли это (если конечно разумно с queue использовать другие контейнеры)</div></div><br>
Если тебя не устраивает копирование очереди при сериализации - это единственное, что ты можешь сделать. Правильность-неправильность побоку.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>предложили вот такой вариант, только меня смущает копирование в методе save_queue</div></div><br>
Смущает? Я тебе еще утром сказал, что только с копированием очереди её элементы можно сериализовать.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1641276</guid>
        <pubDate>Fri, 20 Jul 2007 08:51:17 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1641276</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1640869'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-07-20T02:46:53+00:00">20.07.07, 02:46</time></span><div class='quote '>Естественно, для сериализации queue в бусте нет готового решения, поскольку этот контейнер (наряду с priority_queue и stack) не такой, как остальные - он всего лишь надстройка над другим контейнером и нельзя прочитать все элементы очереди, не уничтожив их.<br>
Можешь или сам написать сериализацию очереди (копируешь очередь в новую очередь и её поэлементно записываешь в архив), если тебе это подходит, или отказываешься от очереди</div></div><br>
тоесть не строить не queue, а сразу использовать deque ? А правильно ли это (если конечно разумно с queue использовать другие контейнеры) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-07-20T09:22:18+00:00">20.07.07, 09:22</time></span></span><br>
предложили вот такой вариант, только меня смущает копирование в методе save_queue<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#ifndef BOOST_SERIALIZATION_QUEUE_HPP</div><div class="code_line">#define BOOST_SERIALIZATION_QUEUE_HPP</div><div class="code_line">&nbsp;</div><div class="code_line">// MS compatible compilers support #pragma once</div><div class="code_line">#if defined(_MSC_VER) &amp;&amp; (_MSC_VER &#62;= 1020)</div><div class="code_line"># pragma once</div><div class="code_line">#endif</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;queue&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/config.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/serialization/collections_save_imp.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/collections_load_imp.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/split_free.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#include &quot;queue_save_imp.hpp&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">// function specializations must be defined in the appropriate</div><div class="code_line">// namespace - boost::serialization</div><div class="code_line">#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)</div><div class="code_line">#define STD _STLP_STD</div><div class="code_line">#else</div><div class="code_line">#define STD std</div><div class="code_line">#endif</div><div class="code_line">&nbsp;</div><div class="code_line">namespace boost { </div><div class="code_line">&nbsp;&nbsp; &nbsp;namespace serialization {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;namespace stl {</div><div class="code_line">&nbsp;</div><div class="code_line">template&#60;class Archive, class Container&#62;</div><div class="code_line">struct archive_input_queue</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;inline void operator()(Archive &amp;ar, Container &amp;s)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;detail::stack_construct&#60;Archive, BOOST_DEDUCED_TYPENAME Container::value_type&#62; t(ar);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// borland fails silently w/o full namespace</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ar &#62;&#62; boost::serialization::make_nvp(&quot;item&quot;, t.reference());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;s.push(t.reference());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ar.reset_object_address(&amp; s.back() , &amp; t.reference());</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">};</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;} </div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">namespace boost { </div><div class="code_line">&nbsp;&nbsp; &nbsp;namespace serialization {</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;template&#60;class Archive, class U, class Allocator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inline void save(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive &amp; ar,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const STD::queue&#60;U, Allocator&#62; &amp;t,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const unsigned int /* file_version */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::serialization::stl::save_queue&#60;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive, </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::queue&#60;U, Allocator&#62; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#62;(ar, t);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;template&#60;class Archive, class U, class Allocator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inline void load(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive &amp; ar,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;STD::queue&#60;U, Allocator&#62; &amp;t,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const unsigned int /* file_version */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::serialization::stl::load_queue&#60;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::queue&#60;U, Allocator&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::serialization::stl::archive_input_queue&#60;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive, </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::queue&#60;U, Allocator&#62; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::serialization::stl::no_reserve_imp&#60;STD::queue&#60;U, Allocator&#62; &#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#62;(ar, t);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// split non-intrusive serialization function member into separate</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// non intrusive save/load member functions</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;template&#60;class Archive, class U, class Allocator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inline void serialize(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive &amp; ar,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;STD::queue&#60;U, Allocator&#62; &amp; t,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const unsigned int file_version</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::serialization::split_free(ar, t, file_version);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;} // serialization</div><div class="code_line">} // namespace boost</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/serialization/collection_traits.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::queue)</div><div class="code_line">#undef STD</div><div class="code_line">&nbsp;</div><div class="code_line">#endif // BOOST_SERIALIZATION_LIST_HPP</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">#ifndef BOOST_QUEUE_SAVE_IMP_HPP</div><div class="code_line">#define BOOST_QUEUE_SAVE_IMP_HPP</div><div class="code_line">&nbsp;</div><div class="code_line">// MS compatible compilers support #pragma once</div><div class="code_line">#if defined(_MSC_VER) &amp;&amp; (_MSC_VER &#62;= 1020)</div><div class="code_line"># pragma once</div><div class="code_line">#endif</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/serialization/nvp.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/serialization.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">namespace boost{</div><div class="code_line">&nbsp;&nbsp; &nbsp;namespace serialization {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;namespace stl {</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//////////////////////////////////////////////////////////////////////</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// implementation of serialization for STL containers</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;template&#60;class Archive, class Container&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;inline void save_queue(Archive &amp; ar, const Container &amp;s)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// record number of elements</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned int count = s.size();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ar &#60;&#60; make_nvp(&quot;count&quot;, const_cast&#60;const unsigned int &amp;&#62;(count));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//BOOST_DEDUCED_TYPENAME Container::const_iterator it = s.begin();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//make copy of queue</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Container tmp = s;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while(!tmp.empty())</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::serialization::save_construct_data_adl(ar, &amp;(tmp.front()), 0U);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ar &#60;&#60; boost::serialization::make_nvp(&quot;item&quot;, tmp.front());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp.pop();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;template&#60;class Archive, class Container, class InputFunction, class R&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;inline void load_queue(Archive &amp; ar, Container &amp;s)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while(!s.empty()) s.pop();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// retrieve number of elements</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned int count;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ar &#62;&#62; BOOST_SERIALIZATION_NVP(count);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;R rx;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rx(s, count);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;InputFunction ifunc;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while(count-- &#62; 0){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ifunc(ar, s);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} // namespace stl </div><div class="code_line">&nbsp;&nbsp; &nbsp;} // namespace serialization</div><div class="code_line">} // namespace boost</div><div class="code_line">&nbsp;</div><div class="code_line">#endif //BOOST_QUEUE_SAVE_IMP_HPP</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640869</guid>
        <pubDate>Fri, 20 Jul 2007 02:46:53 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640869</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1640797'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-07-19T20:14:37+00:00">19.07.07, 20:14</time></span><div class='quote '>там лежит код для deque. а мне нужен для queue</div></div><br>
Мдя. Взгляд ухватился за &quot;class Container = std::deque &lt;T&gt;&quot;, а дальше глаз замылился...  :wacko: <br>
<br>
Естественно, для сериализации queue в бусте нет готового решения, поскольку этот контейнер (наряду с priority_queue и stack) не такой, как остальные - он всего лишь надстройка над другим контейнером и нельзя прочитать все элементы очереди, не уничтожив их.<br>
Можешь или сам написать сериализацию очереди (копируешь очередь в новую очередь и её поэлементно записываешь в архив), если тебе это подходит, или отказываешься от очереди.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640797</guid>
        <pubDate>Thu, 19 Jul 2007 20:14:37 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640797</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1640722'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-07-19T17:09:08+00:00">19.07.07, 17:09</time></span><div class='quote '>А в boost&#092;serialization&#092;deque.hpp чего лежит?</div></div><br>
там лежит код для deque. а мне нужен для queue]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640722</guid>
        <pubDate>Thu, 19 Jul 2007 17:09:08 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640722</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1616917'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-06-27T16:53:49+00:00">27.06.07, 16:53</time></span><div class='quote '>Но что-то не нашел в boost/serialization ничего подходящего для сериализации std::queue.</div></div><br>
А в boost&#092;serialization&#092;deque.hpp чего лежит?  :blink:]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640408</guid>
        <pubDate>Thu, 19 Jul 2007 12:41:56 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640408</link>
        <description><![CDATA[zss: у меня на бусте все заточено :(]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640373</guid>
        <pubDate>Thu, 19 Jul 2007 12:22:41 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640373</link>
        <description><![CDATA[SL555: Возможно, я это делаю правдо без буста вот тут пример<br>
 <a class='tag-url' href='http://forum.sources.ru/index.php?act=ST&f=150&t=195905&st=0' target='_blank'>[C++] Сериализация</a><br>
<br>
посмотри как происходит сериализация std::map и std::vector]]></description>
        <author>SL555</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640309</guid>
        <pubDate>Thu, 19 Jul 2007 11:28:13 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1640309</link>
        <description><![CDATA[zss: тема поднимается заново. Я так и не смог сериализовать std::queue.<br>Так все-таки это возможно ли нет ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1620201</guid>
        <pubDate>Sat, 30 Jun 2007 20:18:19 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1620201</link>
        <description><![CDATA[zss: похоже начался сезон отпусков :)]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1617690</guid>
        <pubDate>Thu, 28 Jun 2007 09:57:53 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1617690</link>
        <description><![CDATA[zss: никто не сериализовал ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1616917</guid>
        <pubDate>Wed, 27 Jun 2007 16:53:49 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1616917</link>
        <description><![CDATA[zss: хочу сериализовать класс<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">template &#60;typename T, class Container = std::deque &#60;T&#62; &#62;</div><div class="code_line">class Queue {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::queue &#60;T, Container&#62; m_queue;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (m_queue);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Queue () {}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~Queue() {}</div><div class="code_line">};</div></ol></div></div></div></div><br>
<br>
Но что-то не нашел в boost/serialization ничего подходящего для сериализации std::queue.<br>
Как тогда она сериализуется ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1606068</guid>
        <pubDate>Mon, 18 Jun 2007 10:01:04 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1606068</link>
        <description><![CDATA[zss: ну где же ты, <strong class='tag-b'>Hryak</strong> :)]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1605277</guid>
        <pubDate>Sun, 17 Jun 2007 13:23:45 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1605277</link>
        <description><![CDATA[zss: В общем я так и не понят почему boost ругается и пришлось отключить варнинг... (не очень правда это хорошо как мне кажется)<br>
<br>
Есть еще вопросик<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class Object;</div><div class="code_line">typedef std::list&#60;Object&#62; TList;</div><div class="code_line">&nbsp;</div><div class="code_line">class Owner {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int a;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int b;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TList list;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (list);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Owner () {}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~Owner() {}</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
я сериализую Owner. Реально сериализуется лишь только список.<br>
Отправляю данные. Могу ли я на другой стороне десериализовать сразу в TList или я обязан десериализовать в Owner ?<br>
<br>
Аналогично в обратную сторону. Я получил TList, подправил некоторые данные и хочу отправить их обратно.<br>
Естественно сериализую я список. Могу ли я его десериализовать в Owner ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602635</guid>
        <pubDate>Thu, 14 Jun 2007 17:06:26 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602635</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1602631'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-06-14T17:01:44+00:00">14.06.07, 17:01</time></span><div class='quote '>И эта строчка осталась на месте?</div></div><br>
не - исчезла гадина :)<br>
<br>
осталось только это<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">C:\boost\boost/iostreams/detail/streambuf/indirect_streambuf.hpp(241) : warning C4996: &#39;std::char_traits&#60;char&#62;::move&#39; was declared deprecated</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;C:\Program Files\Microsoft Visual Studio 8\VC\include\iosfwd(470) : see declaration of &#39;std::char_traits&#60;char&#62;::move&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Message: &#39;You have used a std:: construct that is not safe. See documentation on how to use the Safe Standard C++ Library&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;C:\boost\boost/iostreams/detail/streambuf/indirect_streambuf.hpp(230) : while compiling class template member function &#39;int boost::iostreams::detail::indirect_streambuf&#60;T,Tr,Alloc,Mode&#62;::underflow(void)&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=parser::wdevice,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Tr=std::char_traits&#60;char&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Alloc=std::allocator&#60;char&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mode=boost::iostreams::detail::io_mode_impl&#60;2&#62;::type</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;C:\boost\boost/iostreams/stream_buffer.hpp(64) : see reference to class template instantiation &#39;boost::iostreams::detail::indirect_streambuf&#60;T,Tr,Alloc,Mode&#62;&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=parser::wdevice,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Tr=std::char_traits&#60;char&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Alloc=std::allocator&#60;char&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mode=boost::iostreams::detail::io_mode_impl&#60;2&#62;::type</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;e:\wcl\parser.h(179) : see reference to class template instantiation &#39;boost::iostreams::stream_buffer&#60;T&#62;&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=parser::wdevice</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.\data.cpp(104) : see reference to function template instantiation &#39;void parser::serialize&#60;Channels&#62;(parser::sbuffer &amp;,const T &amp;)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Channels</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div></ol></div></div></div></div>]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602631</guid>
        <pubDate>Thu, 14 Jun 2007 17:01:44 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602631</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1602622'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-06-14T16:50:36+00:00">14.06.07, 16:50</time></span><div class='quote '>а для write у меня диапазон. Тоесть первый</div></div><br>
insert не трогай.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>что-то это не избавило от варнинга :(</div></div><br>
И эта строчка осталась на месте?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">while compiling class template member function &#39;<span style='color:red'>std::streamsize rcontainer&#60;Container&#62;::read</span>(char *,std::streamsize)&#39;</div></ol></div></div></div></div>]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602622</guid>
        <pubDate>Thu, 14 Jun 2007 16:50:36 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602622</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1602617'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-06-14T16:46:52+00:00">14.06.07, 16:46</time></span><div class='quote '>Не совсем. Суть во втором параметре конструктора этого итератора. А у тебя его нет. Пропиши туда количество копируемых символов </div></div><br>
<br>
так для read<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::streamsize result = std::min&#60;std::streamsize&#62; (size, delta);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (!result) return -1;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::copy (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.begin() + m_index,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.begin() + m_index + result,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stdext::checked_array_iterator&#60;char_type *&#62; (value, relult)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;);</div></ol></div></div></div></div><br>
<br>
а для write у меня диапазон. Тоесть первый checked_array_iterator размером 0 ?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_container.insert (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.end(),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stdext::checked_array_iterator&#60;const char_type *&#62; (value, 0),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stdext::checked_array_iterator&#60;const char_type *&#62; (value, size));</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-06-14T16:53:52+00:00">14.06.07, 16:53</time></span></span><br>
что-то это не избавило от варнинга :(]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602617</guid>
        <pubDate>Thu, 14 Jun 2007 16:46:52 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602617</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1602608'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-06-14T16:38:35+00:00">14.06.07, 16:38</time></span><div class='quote '>тоесть ты хочешь сказать, что это предупреждение относится толко к методу read</div></div><br>
По тексту сообщения так получается. Компилировать я не пытался.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>получится что-то вроде</div></div><br>
Не совсем. Суть во втором параметре конструктора этого итератора. А у тебя его нет. Пропиши туда количество копируемых символов]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602608</guid>
        <pubDate>Thu, 14 Jun 2007 16:38:35 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602608</link>
        <description><![CDATA[zss: тоесть ты хочешь сказать, что это предупреждение относится толко к методу read<br>
<br>
получится что-то вроде<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;std::streamsize read (char_type* value, std::streamsize size)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::streamsize delta = static_cast&#60;std::streamsize&#62; (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.size() - m_index</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::streamsize result = std::min&#60;std::streamsize&#62; (size, delta);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (!result) return -1;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::copy (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.begin() + m_index,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.begin() + m_index + result,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stdext::checked_array_iterator&#60;char_type *&#62; (value)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_index += result;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div>]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602603</guid>
        <pubDate>Thu, 14 Jun 2007 16:36:01 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602603</link>
        <description><![CDATA[Hryak: Да. В MSDN есть примеры с пояснениями - понятно, что к чему.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602596</guid>
        <pubDate>Thu, 14 Jun 2007 16:34:00 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602596</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1602592'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-06-14T16:32:17+00:00">14.06.07, 16:32</time></span><div class='quote '>M&#036; only.<br>
std::copy на сырых указателях (не итераторах) M&#036; объявило опасными. Рекомендуется предварительно преобразовывать сырой указатель в checked_array_iterator. </div></div><br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">stdext::checked_array_iterator&#60;char *&#62; (...)</div></ol></div></div></div></div><br>
<br>
Это ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602592</guid>
        <pubDate>Thu, 14 Jun 2007 16:32:17 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602592</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1602581'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-06-14T16:19:26+00:00">14.06.07, 16:19</time></span><div class='quote '>Что он хочет ?</div></div><br>
M&#036; only.<br>
std::copy на сырых указателях (не итераторах) M&#036; объявило опасным. Рекомендуется предварительно преобразовывать сырой указатель в  checked_array_iterator.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602581</guid>
        <pubDate>Thu, 14 Jun 2007 16:19:26 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1602581</link>
        <description><![CDATA[zss: <strong class='tag-b'>Hryak</strong>, я тут немного изврвщаюсь и опять не пойму, что от меня хочет boost.<br>
Есть подозрение, что что-то с типами не так<br>
<br>
это устройство для контейнера<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">template&#60;typename Container&#62;</div><div class="code_line">class rcontainer /*: public boost::iostreams::source*/ {</div><div class="code_line">private:</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef typename Container::size_type &nbsp; size_type;</div><div class="code_line">&nbsp;&nbsp; &nbsp;const Container&amp; &nbsp; &nbsp;m_container;</div><div class="code_line">&nbsp;&nbsp; &nbsp;size_type &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; m_index;</div><div class="code_line">&nbsp;</div><div class="code_line">public: </div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef typename Container::value_type &nbsp;char_type;</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef boost::iostreams::source_tag &nbsp; &nbsp;category;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;rcontainer (const Container&amp; container) : m_container(container), m_index(0) {}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~rcontainer () {}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::streamsize read (char_type* value, std::streamsize size)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::streamsize delta = static_cast&#60;std::streamsize&#62; (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.size() - m_index</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::streamsize result = std::min&#60;std::streamsize&#62; (size, delta);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (!result) return -1;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::copy (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.begin() + m_index,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_container.begin() + m_index + result, value</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_index += result;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">template&#60;typename Container&#62;</div><div class="code_line">class wcontainer /*: public boost::iostreams::sink*/ {</div><div class="code_line">private:</div><div class="code_line">&nbsp;&nbsp; &nbsp;Container&amp; m_container;</div><div class="code_line">&nbsp;</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef typename Container::value_type &nbsp;char_type;</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef boost::iostreams::sink_tag &nbsp; &nbsp; &nbsp;category;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcontainer (Container&amp; container) : m_container(container) {}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~wcontainer () {}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::streamsize write (const char_type* value, std::streamsize size)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_container.insert (m_container.end(), value, value + size);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return size;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">};</div></ol></div></div></div></div><br>
<br>
Это сериализация<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;typedef std::vector&#60;char&#62; sbuffer;</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef rcontainer &#60;sbuffer&#62; rdevice;</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef wcontainer &#60;sbuffer&#62; wdevice;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class T&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;inline void serialize (sbuffer&amp; buffer, const T&amp; rhs)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;namespace bio = boost::iostreams;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wdevice device (buffer);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bio::stream_buffer&#60;wdevice&#62; stream (device);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//std::basic_ostream &#60;unsigned char&#62; ostream (&amp;stream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::ostream ostream (&amp;stream);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::archive::binary_oarchive archive (ostream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;archive &#60;&#60; BOOST_SERIALIZATION_NVP (rhs);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;catch (std::exception&amp; ex)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::cerr &#60;&#60; ex.what() &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class T&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;inline void deserialize (const sbuffer&amp; buffer, T&amp; rhs)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;namespace bio = boost::iostreams;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rdevice device (buffer);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bio::stream_buffer&#60;rdevice&#62; stream (device);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//std::basic_istream &#60;unsigned char&#62; istream (&amp;stream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::istream istream (&amp;stream);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;boost::archive::binary_iarchive archive (istream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;archive &#62;&#62; BOOST_SERIALIZATION_NVP (rhs);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;catch (std::exception&amp; ex)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;std::cerr &#60;&#60; ex.what() &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
<br>
он предупреждает<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(2282) : warning C4996: &#39;std::_Copy_opt&#39; was declared deprecated</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(2270) : see declaration of &#39;std::_Copy_opt&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Message: &#39;You have used a std:: construct that is not safe. See documentation on how to use the Safe Standard C++ Library&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;e:\wcl\stream.h(97) : see reference to function template instantiation &#39;_OutIt std::copy&#60;std::_Vector_const_iterator&#60;_Ty,_Alloc&#62;,char*&#62;(_InIt,_InIt,_OutIt)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_OutIt=char *,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_Ty=char,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_Alloc=std::allocator&#60;char&#62;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_InIt=std::_Vector_const_iterator&#60;char,std::allocator&#60;char&#62;&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;e:\wcl\stream.h(86) : while compiling class template member function &#39;std::streamsize rcontainer&#60;Container&#62;::read(char *,std::streamsize)&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Container=parser::sbuffer</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;e:\wcl\parser.h(200) : see reference to class template instantiation &#39;rcontainer&#60;Container&#62;&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Container=parser::sbuffer</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;.\data.cpp(121) : see reference to function template instantiation &#39;void parser::deserialize&#60;Channels&#62;(const parser::sbuffer &amp;,T &amp;)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Channels</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div></ol></div></div></div></div><br>
<br>
Что он хочет ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491881</guid>
        <pubDate>Wed, 21 Mar 2007 08:01:47 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491881</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1491700'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-03-21T04:17:40+00:00">21.03.07, 04:17</time></span><div class='quote '>код вроде = unregistered_cast</div></div><br>
Ты сериализируешь производный класс по указателю на базовый. Помочь бусту нужно - пропиши в началале Some::serialize строчку:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">archive.register_type(static_cast&#60;Base*&#62;(NULL));</div></ol></div></div></div></div>]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491700</guid>
        <pubDate>Wed, 21 Mar 2007 04:17:40 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491700</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1491537'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-03-20T19:25:09+00:00">20.03.07, 19:25</time></span><div class='quote '>Чего не нравится? Как ругается? </div></div><br>
да он собирается без ошибок и предупреждений. Но вот при выполнении вываливает при сериализацции<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">typedef std::vector &#60;std::pair&#60;int, IBase *&#62; &#62; VecType;</div></ol></div></div></div></div><br>
<br>
тоесть пары, содержащей интерфейс<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Unhandled exception at 0x7c81eb33 in serialyze.exe: Microsoft C++ exception: boost::archive::archive_exception at memory location 0x0012d640..</div></ol></div></div></div></div><br>
<br>
посмотрел в отладке на <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">template&#60;class E&#62; inline void throw_exception(E const &amp; e)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;throw e;</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
который бросается, так вот код вроде = unregistered_cast]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491537</guid>
        <pubDate>Tue, 20 Mar 2007 19:25:09 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491537</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1491491'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-03-20T18:16:53+00:00">20.03.07, 18:16</time></span><div class='quote '>что-то не нравится ему...</div></div><br>
Чего не нравится? Как ругается?]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491491</guid>
        <pubDate>Tue, 20 Mar 2007 18:16:53 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1491491</link>
        <description><![CDATA[zss: <strong class='tag-b'>Hryak</strong>, извини, но еще проблемка :)<br>
<br>
<br>
как можно сериализовать интерфейс ? что-то не нравится ему...<br>
<br>
тестовый код<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">#include &quot;stdafx.h&quot;</div><div class="code_line">#include &#60;Windows.h&#62;</div><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;fstream&#62;</div><div class="code_line">#include &#60;vector&#62;</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">#ifdef _MSC_VER</div><div class="code_line"># pragma warning (push)</div><div class="code_line"># pragma warning (disable : 4267)</div><div class="code_line">#endif</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/archive/xml_iarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/archive/xml_oarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/nvp.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/vector.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/utility.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#ifdef _MSC_VER</div><div class="code_line"># pragma warning (pop)</div><div class="code_line">#endif</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">struct IBase</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual int get (void) const = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual ~IBase () = 0 {};</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">class Base : public IBase {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef std::vector&#60;std::pair&#60;int, int&#62; &#62; VecType;</div><div class="code_line">&nbsp;&nbsp; &nbsp;VecType m_vec;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_BASE_OBJECT_NVP (IBase);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (m_vec);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Base &nbsp;()</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_vec.push_back(std::make_pair(1, 1));</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~Base () {;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual int get (void) const { return 1; }</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">class Some {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef std::vector &#60;std::pair&#60;int, IBase *&#62; &#62; VecType;</div><div class="code_line">&nbsp;&nbsp; &nbsp;VecType m_vec;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (m_vec);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some &nbsp;()</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_vec.push_back(std::make_pair (100, new Base()));</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~Some () {;}</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">int _tmain(int argc, _TCHAR* argv[])</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some s;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::ofstream istream (&quot;xxx.xml&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (istream.is_open())</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boost::archive::xml_oarchive archive (istream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &#60;&#60; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;istream.close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Sleep (1000);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::ifstream ostream (&quot;xxx.xml&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (ostream.is_open())</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boost::archive::xml_iarchive archive (ostream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &#62;&#62; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;ostream.close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">/* -------------------------------------------------------------------------- */</div></ol></div></div></div></div>]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483331</guid>
        <pubDate>Tue, 13 Mar 2007 16:24:12 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483331</link>
        <description><![CDATA[zss: <strong class='tag-b'>Hryak</strong> - ты лучший :)]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483328</guid>
        <pubDate>Tue, 13 Mar 2007 16:22:45 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483328</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1483320'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-03-13T16:18:42+00:00">13.03.07, 16:18</time></span><div class='quote '>Но я не нашел ничего подходящего для std::pair</div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;boost/serialization/utility.hpp&#62;</div></ol></div></div></div></div>]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483320</guid>
        <pubDate>Tue, 13 Mar 2007 16:18:42 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483320</link>
        <description><![CDATA[zss: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1483311'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2007-03-13T16:13:58+00:00">13.03.07, 16:13</time></span><div class='quote '>Вопрос на засыпку - что ты здесь такое объявил?</div></div><br>
получилась функция, возвращающая тип Some...<br>
<br>
Попробовал сварить - получил<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">c:\boost\boost\serialization\access.hpp(109) : error C2039: &#39;serialize&#39; : is not a member of &#39;std::pair&#60;_Ty1,_Ty2&#62;&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_Ty1=int,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_Ty2=Base *</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\serialization\serialization.hpp(81) : see reference to function template instantiation &#39;void boost::serialization::access::serialize&#60;Archive,T&#62;(Archive &amp;,T &amp;,const unsigned int)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=const std::pair&#60;int,Base *&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\serialization\serialization.hpp(140) : see reference to function template instantiation &#39;void boost::serialization::serialize&#60;Archive,T&#62;(Archive &amp;,T &amp;,const unsigned int)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=const std::pair&#60;int,Base *&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-03-13T16:19:57+00:00">13.03.07, 16:19</time></span></span><br>
я так понял, что он не знаек как сериализовать std::pair&lt;int, Base *&gt;<br>
<br>
Но я не нашел ничего подходящего для std::pair]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483311</guid>
        <pubDate>Tue, 13 Mar 2007 16:13:58 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483311</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1483200'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-03-13T15:03:26+00:00">13.03.07, 15:03</time></span><div class='quote '><strong class='tag-b'>Hryak</strong> не обижайся за назойливасть, но еще</div></div><br>
Обижаться не буду, но буду давать уклончивые ответы. :)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;Some s ();</div></ol></div></div></div></div></div></div><br>
Вопрос на засыпку - что ты здесь такое объявил?  ;)]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483200</guid>
        <pubDate>Tue, 13 Mar 2007 15:03:26 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483200</link>
        <description><![CDATA[zss: Во как &#33;&#33;&#33;&#33;<br>
<br>
И как же нам простым смертным все тонкости знать :)<br>
<br>
<br>
<strong class='tag-b'>Hryak</strong> не обижайся за назойливасть, но еще<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">#include &quot;stdafx.h&quot;</div><div class="code_line">#include &#60;Windows.h&#62;</div><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;fstream&#62;</div><div class="code_line">#include &#60;vector&#62;</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">#ifdef _MSC_VER</div><div class="code_line"># pragma warning (push)</div><div class="code_line"># pragma warning (disable : 4267)</div><div class="code_line">#endif</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/archive/xml_iarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/archive/xml_oarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/nvp.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/vector.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#ifdef _MSC_VER</div><div class="code_line"># pragma warning (pop)</div><div class="code_line">#endif</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">class Base : private boost::noncopyable {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef std::vector&#60;std::pair&#60;int, int&#62; &#62; VecType;</div><div class="code_line">&nbsp;&nbsp; &nbsp;VecType m_vec;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (m_vec);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Base &nbsp;() {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~Base () {;}</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">class Some {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef std::vector &#60;std::pair&#60;int, Base *&#62; &#62; VecType;</div><div class="code_line">&nbsp;&nbsp; &nbsp;VecType m_vec;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (m_vec);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some &nbsp;() {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;~Some () {;}</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">int _tmain(int argc, _TCHAR* argv[])</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some s ();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::ifstream ostream (&quot;xxx.xml&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (ostream.is_open())</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boost::archive::xml_iarchive archive (ostream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &#62;&#62; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;ostream.close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Sleep (1000);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::ofstream istream (&quot;xxx.xml&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (istream.is_open())</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boost::archive::xml_oarchive archive (istream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &#60;&#60; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;istream.close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
выдает<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Compiling...</div><div class="code_line">serialyze.cpp</div><div class="code_line">c:\boost\boost\serialization\nvp.hpp(61) : warning C4180: qualifier applied to function type has no meaning; ignored</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\temp\serialyze\serialyze\serialyze.cpp(66) : see reference to class template instantiation &#39;boost::serialization::nvp&#60;T&#62;&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some (void)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">c:\boost\boost\archive\detail\oserializer.hpp(567) : error C2027: use of undefined type &#39;boost::STATIC_ASSERTION_FAILURE&#60;x&#62;&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;x=false</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\basic_xml_oarchive.hpp(99) : see reference to function template instantiation &#39;void boost::archive::save&#60;Archive,T&#62;(Archive &amp;,T (__cdecl &amp;))&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some (void)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\interface_oarchive.hpp(78) : see reference to function template instantiation &#39;void boost::archive::basic_xml_oarchive&#60;Archive&#62;::save_override&#60;Some(void)&#62;(const boost::serialization::nvp&#60;T&#62; &amp;,int)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some (void)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\temp\serialyze\serialyze\serialyze.cpp(76) : see reference to function template instantiation &#39;Archive &amp;boost::archive::detail::interface_oarchive&#60;Archive&#62;::operator &#60;&#60;&#60;const boost::serialization::nvp&#60;T&#62;&#62;(const boost::serialization::nvp&#60;T&#62; &amp;)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some (void)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">c:\boost\boost\archive\detail\oserializer.hpp(568) : warning C4180: qualifier applied to function type has no meaning; ignored</div><div class="code_line">Build Time 0:02</div><div class="code_line">Build log was saved at &quot;file://c:\TEMP\serialyze\serialyze\Debug\BuildLog.htm&quot;</div><div class="code_line">serialyze - 1 error(s), 2 warning(s)</div><div class="code_line">========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</div></ol></div></div></div></div>]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483181</guid>
        <pubDate>Tue, 13 Mar 2007 14:52:34 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483181</link>
        <description><![CDATA[Hryak: Измени порядок включения хедеров:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;boost/archive/xml_iarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/archive/xml_oarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/base_object.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/nvp.hpp&#62;</div></ol></div></div></div></div><br>
<br>
и переделай сериализацию базового класса:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">archive &amp; BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);</div></ol></div></div></div></div>]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483120</guid>
        <pubDate>Tue, 13 Mar 2007 14:11:53 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1483120</link>
        <description><![CDATA[zss: <strong class='tag-b'>Hryak</strong><br>
<br>
вот пример тестового кода<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">#include &quot;stdafx.h&quot;</div><div class="code_line">#include &#60;Windows.h&#62;</div><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;fstream&#62;</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">#ifdef _MSC_VER</div><div class="code_line"># pragma warning (push)</div><div class="code_line"># pragma warning (disable : 4267)</div><div class="code_line">#endif</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;boost/serialization/base_object.hpp&#62;</div><div class="code_line">#include &#60;boost/serialization/nvp.hpp&#62;</div><div class="code_line">#include &#60;boost/archive/xml_iarchive.hpp&#62;</div><div class="code_line">#include &#60;boost/archive/xml_oarchive.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#ifdef _MSC_VER</div><div class="code_line"># pragma warning (pop)</div><div class="code_line">#endif</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">class Base : private boost::noncopyable {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;int a;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">protected :</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual int OnGet (void) const { return a; }</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Base () : a (0) {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;explicit Base (int a) : a(a) {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual ~Base () {;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int getA (void) const { return OnGet(); }</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">class Some : public Base {</div><div class="code_line">private :</div><div class="code_line">&nbsp;&nbsp; &nbsp;int s;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template &#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize (Archive&amp; archive, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; boost::serialization::base_object&#60;Base&#62; (*this);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &amp; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">protected :</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual int OnGet (void) const { return Base::OnGet() + 1; }</div><div class="code_line">&nbsp;</div><div class="code_line">public :</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some () : Base (0), s(0) {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some (int a, int s) : Base (a), s(s) {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual ~Some () {;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int getS (void) const { return s; }</div><div class="code_line">};</div><div class="code_line">/* -------------------------------------------------------------------------- */</div><div class="code_line">int _tmain(int argc, _TCHAR* argv[])</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;Some s (1, 2);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::ifstream ostream (&quot;xxx.xml&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (ostream.is_open())</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boost::archive::xml_iarchive archive (ostream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &#62;&#62; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;ostream.close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Sleep (1000);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::ofstream istream (&quot;xxx.xml&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (istream.is_open())</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boost::archive::xml_oarchive archive (istream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;archive &#60;&#60; BOOST_SERIALIZATION_NVP (s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;istream.close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">/* -------------------------------------------------------------------------- */</div></ol></div></div></div></div><br>
<br>
вываливает<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Compiling...</div><div class="code_line">serialyze.cpp</div><div class="code_line">c:\boost\boost\archive\detail\oserializer.hpp(131) : error C2027: use of undefined type &#39;boost::serialization::extended_type_info_null&#60;T&#62;&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\oserializer.hpp(128) : while compiling class template member function &#39;bool boost::archive::detail::oserializer&#60;Archive,T&#62;::is_polymorphic(void) const&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\oserializer.hpp(264) : see reference to class template instantiation &#39;boost::archive::detail::oserializer&#60;Archive,T&#62;&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\oserializer.hpp(263) : while compiling class template member function &#39;void boost::archive::detail::save_non_pointer_type&#60;Archive,T&#62;::save_standard::invoke(Archive &amp;,const T &amp;)&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\oserializer.hpp(322) : see reference to class template instantiation &#39;boost::archive::detail::save_non_pointer_type&#60;Archive,T&#62;::save_standard&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\oserializer.hpp(310) : while compiling class template member function &#39;void boost::archive::detail::save_non_pointer_type&#60;Archive,T&#62;::invoke(Archive &amp;,const T &amp;)&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\oserializer.hpp(536) : see reference to class template instantiation &#39;boost::archive::detail::save_non_pointer_type&#60;Archive,T&#62;&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\basic_xml_oarchive.hpp(99) : see reference to function template instantiation &#39;void boost::archive::save&#60;Archive,T&#62;(Archive &amp;,const T &amp;)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\boost\boost\archive\detail\interface_oarchive.hpp(78) : see reference to function template instantiation &#39;void boost::archive::basic_xml_oarchive&#60;Archive&#62;::save_override&#60;Some&#62;(const boost::serialization::nvp&#60;T&#62; &amp;,int)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;c:\temp\serialyze\serialyze\serialyze.cpp(100) : see reference to function template instantiation &#39;Archive &amp;boost::archive::detail::interface_oarchive&#60;Archive&#62;::operator &#60;&#60;&#60;const boost::serialization::nvp&#60;T&#62;&#62;(const boost::serialization::nvp&#60;T&#62; &amp;)&#39; being compiled</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Archive=boost::archive::xml_oarchive,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;T=Some</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;]</div><div class="code_line">c:\boost\boost\archive\detail\oserializer.hpp(131) : error C2146: syntax error : missing &#39;;&#39; before identifier &#39;typex&#39;</div><div class="code_line">c:\boost\boost\archive\detail\oserializer.hpp(131) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int</div><div class="code_line">c:\boost\boost\archive\detail\oserializer.hpp(131) : error C2065: &#39;typex&#39; : undeclared identifier</div><div class="code_line">Build Time 0:02</div><div class="code_line">Build log was saved at &quot;file://c:\TEMP\serialyze\serialyze\Debug\BuildLog.htm&quot;</div><div class="code_line">serialyze - 4 error(s), 0 warning(s)</div><div class="code_line">========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</div></ol></div></div></div></div><br>
<br>
что ему нужно ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475087</guid>
        <pubDate>Mon, 05 Mar 2007 17:02:41 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475087</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=174235&view=findpost&p=1475057'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zss &#064; <time class="tag-quote__quoted-time" datetime="2007-03-05T16:20:42+00:00">05.03.07, 16:20</time></span><div class='quote '>Получается, что он нормально их схавает ?</div></div><br>
Да.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А почему тогда в той статье что привел <br>
<strong class='tag-b'>BlackEmperor</strong> на это делается акцент ?</div></div><br>
Дык, ведь в той статье не про boost::serialization и говорится...]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475057</guid>
        <pubDate>Mon, 05 Mar 2007 16:20:42 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475057</link>
        <description><![CDATA[zss: 1. C этим понятно<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;boost/serialization/base_object.hpp&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">class bus_stop_corner : public bus_stop</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;&nbsp; &nbsp;template&#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize(Archive &amp; ar, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// serialize base class information</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ar &amp; boost::serialization::base_object&#60;bus_stop&#62;(*this);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ar &amp; street1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ar &amp; street2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string street1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string street2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;virtual std::string description() const</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return street1 + &quot; and &quot; + street2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;bus_stop_corner(){}</div><div class="code_line">&nbsp;&nbsp; &nbsp;bus_stop_corner(const gps_position &amp; lat_, const gps_position &amp; long_,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;const std::string &amp; s1_, const std::string &amp; s2_</div><div class="code_line">&nbsp;&nbsp; &nbsp;) :</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;bus_stop(lat_, long_), street1(s1_), street2(s2_)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{}</div><div class="code_line">};</div></ol></div></div></div></div><br>
<br>
2. А вот это<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class bus_route</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;&nbsp; &nbsp;bus_stop * stops[10];</div><div class="code_line">&nbsp;&nbsp; &nbsp;template&#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize(Archive &amp; ar, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;int i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for(i = 0; i &#60; 10; ++i)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ar &amp; stops[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;bus_route(){}</div><div class="code_line">};</div></ol></div></div></div></div><br>
<br>
и это<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class bus_route</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend class boost::serialization::access;</div><div class="code_line">&nbsp;&nbsp; &nbsp;bus_stop * stops[10];</div><div class="code_line">&nbsp;&nbsp; &nbsp;template&#60;class Archive&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void serialize(Archive &amp; ar, const unsigned int version)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ar &amp; stops;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;bus_route(){}</div><div class="code_line">};</div></ol></div></div></div></div><br>
<br>
Получается, что он нормально их схавает ? А почему тогда в той статье что привел <br>
<strong class='tag-b'>BlackEmperor</strong> на это делается акцент ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475052</guid>
        <pubDate>Mon, 05 Mar 2007 16:15:35 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475052</link>
        <description><![CDATA[Hryak: http://www.boost.org/libs/serialization/doc/tutorial.html]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475039</guid>
        <pubDate>Mon, 05 Mar 2007 16:03:34 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1475039</link>
        <description><![CDATA[zss: <strong class='tag-b'>BlackEmperor</strong>, что-то я не нашел там решения моих вопросов<br>
только лишь<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ПРЕДУПРЕЖДЕНИЕ</div><div class="code_line">Опасно включать в карту указатели на какие-то объекты в памяти –</div><div class="code_line">если объект сохраняется или передаётся по сети на другой компьютер,</div><div class="code_line">то, скорее всего, после раскрутки буфера этот указатель будет указывать неизвестно куда,</div><div class="code_line">а это никогда не приводило ни к чему хорошему.</div></ol></div></div></div></div><br>
<br>
Но от этого не легче :) И так было понятно что ничего не предпренимая сделать не удасться]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1474957</guid>
        <pubDate>Mon, 05 Mar 2007 15:06:08 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1474957</link>
        <description><![CDATA[BlackEmperor: <a class='tag-url' href='http://rsdn.ru/article/files/Classes/Serialization2.xml' target='_blank'>Классика жанра :)</a>]]></description>
        <author>BlackEmperor</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1474949</guid>
        <pubDate>Mon, 05 Mar 2007 15:03:04 +0000</pubDate>
        <title>сереализация</title>
        <link>https://forum.sources.ru/index.php?showtopic=174235&amp;view=findpost&amp;p=1474949</link>
        <description><![CDATA[zss: Подскажите пожалуйста как можно<br>1. Сериализовать базовый класс<br>2. Как можно серелизовать контейнер. в котором хранятся указатели. Тоесть<br>   2.1. Можно хранить умные указатели - тогда вроде прокатит<br>   2.2. Можно ли без умных указателей сереализовать голый указатель ?]]></description>
        <author>zss</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	