add move constructor to vertex_cache
This commit is contained in:
parent
3013197de7
commit
69fc93d87a
2 changed files with 16 additions and 0 deletions
|
@ -97,6 +97,7 @@ public:
|
|||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
template <typename T> vertex_cache(T &path);
|
||||
vertex_cache(vertex_cache && rhs);
|
||||
|
||||
double length() const { return current_subpath_->length; }
|
||||
|
||||
|
|
|
@ -28,6 +28,21 @@
|
|||
namespace mapnik
|
||||
{
|
||||
|
||||
vertex_cache::vertex_cache(vertex_cache && rhs)
|
||||
: current_position_(std::move(rhs.current_position_)),
|
||||
segment_starting_point_(std::move(rhs.segment_starting_point_)),
|
||||
subpaths_(std::move(rhs.subpaths_)),
|
||||
position_in_segment_(std::move(rhs.position_in_segment_)),
|
||||
angle_(std::move(rhs.angle_)),
|
||||
angle_valid_(std::move(rhs.angle_valid_)),
|
||||
offseted_lines_(std::move(rhs.offseted_lines_)),
|
||||
position_(std::move(rhs.position_))
|
||||
{
|
||||
// The C++11 standard doesn't guarantee iterators are valid when container is moved.
|
||||
// We can create them from indexes but we don't need to. Just let them uninitialized.
|
||||
initialized_ = false;
|
||||
}
|
||||
|
||||
double vertex_cache::current_segment_angle()
|
||||
{
|
||||
return std::atan2(-(current_segment_->pos.y - segment_starting_point_.y),
|
||||
|
|
Loading…
Reference in a new issue