layer : add move ctor

This commit is contained in:
artemp 2014-05-28 09:48:13 +01:00
parent 48c027857c
commit 0fe172ec9e
2 changed files with 18 additions and 1 deletions

View file

@ -46,8 +46,10 @@ class MAPNIK_DECL layer
public:
layer(std::string const& name,
std::string const& srs=MAPNIK_LONGLAT_PROJ);
// copy
layer(layer const& l);
// move
layer(layer && l);
layer& operator=(layer rhs);
bool operator==(layer const& other) const;

View file

@ -57,6 +57,21 @@ layer::layer(layer const& rhs)
buffer_size_(rhs.buffer_size_),
maximum_extent_(rhs.maximum_extent_) {}
layer::layer(layer && rhs)
: name_(std::move(rhs.name_)),
srs_(std::move(rhs.srs_)),
min_zoom_(std::move(rhs.min_zoom_)),
max_zoom_(std::move(rhs.max_zoom_)),
active_(std::move(rhs.active_)),
queryable_(std::move(rhs.queryable_)),
clear_label_cache_(std::move(rhs.clear_label_cache_)),
cache_features_(std::move(rhs.cache_features_)),
group_by_(std::move(rhs.group_by_)),
styles_(std::move(rhs.styles_)),
ds_(std::move(rhs.ds_)),
buffer_size_(std::move(rhs.buffer_size_)),
maximum_extent_(std::move(rhs.maximum_extent_)) {}
layer& layer::operator=(layer rhs)
{
swap(*this, rhs);