Subject: [Boost-bugs] [Boost C++ Libraries] #11216: Wrong number of entries in std::vector<boost::tuple<double, double, double> >
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-04-21 09:05:09
#11216: Wrong number of entries in std::vector<boost::tuple<double, double, double>
>
--------------------------------------------+---------------------------
Reporter: Ruediger Berlich <r.berlich@â¦> | Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
Version: Boost 1.58.0 | Severity: Regression
Keywords: serialization tuple vector |
--------------------------------------------+---------------------------
I have a class with a std::vector<boost::tuple<double, double, double> >,
that is supposed to always have at least one entry, but may have more.
Hence, in the default constructor, I initialize the std::vector with one
entry. The class is also serializable. Up until Boost 1.57, a de-
serialized object always had the correct number of entries in the vector.
As of 1.58, I am getting one entry too much, which probably means that
Boost.Serialization simply attaches entries to the vector of a default-
constructed class, but doesnât clear it first. This happens in C++11-Mode,
both on Ubuntu 14.10 (gcc 4.9.1) as well as on MacOS X Yosemite . It DOES
NOT happen with a std::vector<double> . Attached to this ticket is a full
test case that replicates the problem in a simplified environment.
For Boost 1.57 the program returns:
t_vec.size() = 1 \\
t_vec2.size() = 1 \\
For Boost 1.58 the answer is
t_vec.size() = 1 \\
t_vec2.size() = 2 \\
Best Regards, \\
Beet
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11216> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC