custom variant type (replaces boost::variant and removes boost dependency altogether)

This commit is contained in:
artemp
2014-02-12 14:32:54 +00:00
parent b78df1903a
commit 0939acca30
5 changed files with 386 additions and 6 deletions

View File

@@ -12,7 +12,7 @@ VectorTile::VectorTile(pbf tile) {
while (tile.next()) {
if (tile.tag == 3) { // layer
VectorTileLayer layer(tile.message());
layers.emplace(layer.name, layer);
layers.emplace(layer.name, std::forward<VectorTileLayer>(layer));
} else {
tile.skip();
}
@@ -34,7 +34,7 @@ VectorTileLayer::VectorTileLayer(pbf layer) : data(layer) {
} else if (layer.tag == 3) { // keys
keys.emplace_back(layer.string());
} else if (layer.tag == 4) { // values
values.emplace_back(parseValue(layer.message()));
values.emplace_back(std::move(parseValue(layer.message())));
} else if (layer.tag == 5) { // extent
extent = layer.varint();
} else {