crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Сериализация списка указателей в boost
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Iron Bug Дата 1.10.2010, 13:37
  да нет, у меня прекрасно всё получалось и с русскими буквами. просто надо поднимать старые проекты, а без кода нечего обсуждать.
а буст староват, мягко говоря. лучше бы обновить до 41 или 44 (наиболее свежие и наименее глючные версии).
madnessw Дата 1.10.2010, 10:04
  windows 7 , VS2008 + QT 4.6.1 + boost 1.38))

до этого некто не догодался тэстировать с русскими буквами))
код чуть позже скину)
Iron Bug Дата 1.10.2010, 9:58
  проверь локали на машине, если это линюкс. может банально не быть нужной локали. проверь опции юникода для компилера.
если не оно, то пиши пример, как конкретно ты сериализуешь и чем собираешь.
madnessw Дата 27.9.2010, 9:36
  Вышел интересный Баг в сериализации wstring : у меня boost отказывается сериализовать wstring который содержит русские буквы.....

Может кто сталкивался с добной проблеммой?
madnessw Дата 18.3.2010, 5:24
  Как всегда всё оказалось проще чем я дкмал)))
Почитав кучу доки я в boost нашол макрос BOOST_SERIALIZATION_BASE_OBJECT_NVP
мне нужно было заюзать макрос ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Items) и вуаля всё заработало)))

Насчёт стрельбы по воробьям из пушки: у буста она сильно точно стреляет и велосипеды у них хорошие , много функциональные))))

на этом тему можно считать закрытой))))
Iron Bug - спасибо за участие
Iron Bug Дата 16.3.2010, 10:26
  имхо, в такой ситуации лучше бы сделать синглтон, который работает непосредственно с конфигурацией, а в нём реализовать список элементов и сквозные массивы указателей на них (boost::intrusive).
ведь конфигурация - это обычно не то, что постоянно меняется и меняется неожиданно из разных мест.
городить сериализацию тэмплейтов - дело неблагодарное. а главное - из пушки по воробьям :)
madnessw Дата 16.3.2010, 4:23
  эо пример класса конфигурации есть несколько деревьев Item может находиться сразу в нескольких деревьяк(у нас они называются измерения)
я думал сначало сохранять всё в поток но понял что пытаюсь написать велосипед тк в бусте сериализация позволяет сохранять в бинарник в текст и в поток)
вот и думаю как это сделать))) по сути мне нужно сохранить список всех итемов и указателей а при загрузке востановить всё это дело в пямяти)
Iron Bug Дата 14.3.2010, 17:34
  я не совсем понимаю, нафига сериализовать такие сложные аггломераты, но люди пишут, что даже такой изврат возможен.
учимся пользоваться гуглом и в поиске по строке "boost serialization shared_ptr" находим вот это:
http://www.boost.org/doc/libs/1_42_0/libs/...shared_ptr.html

дальше читать всё это и усваивать.
но я бы не стала связываться с такими наворотами. да и автор статьи не рекомендует этого делать, ибо даже после всей этой возни остаются некоторые нерешённые вопросы.
а вообще, зачем тебе столько наворотов для сохранения в файл? может, всё куда проще решается, нежели чем через такие пампасы?
конечно, если хочешь, ковыряй статью, пиши кучу кода. это не возбраняется. но что-то мне подсказывает, что есть куда более простое решение для задачи, которую ты пытаешься решить.
madnessw Дата 13.3.2010, 18:15
  с wstring я разобрался в опциях прроекта переходим: Configuration properties -> C++ -> Langages->Treast wchar_t as Built-in type = <inherit from parent or project defaults>
и усё работает )))))))

теперь осталось только одно понять как сериализовать конструкцию типа

List<shared_ptr<Item>> pItemList , где Item - класс, а проще как сериализовать список умных указателей на класс?

Iron Bug - спасибо за совет)
Iron Bug Дата 12.3.2010, 18:10
  Буст поддерживает сериализацию wstring. Вроде бы он для этого должен быть скомпилен с ICU, хотя конкретно насчёт библиотеки сериализации точно не могу сказать, может, ей просто опцию какую-то надо указать при сборке. У меня буст собран с ICU и все юникодовские функции работают. Но не все комилеры поддерживают юникод. Например, mingw его не поддерживает.
Юзай wofstream и binary_woarchive, если компилятор позволяет. Если нет - то переводи в string и сериализуй как string, а потом обратно. Либо как бинарный поток.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.7.2025, 22:41