diff options
Diffstat (limited to 'src/style/value.cpp')
-rw-r--r-- | src/style/value.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/style/value.cpp b/src/style/value.cpp new file mode 100644 index 0000000000..8da66966fc --- /dev/null +++ b/src/style/value.cpp @@ -0,0 +1,25 @@ +#include <llmr/style/value.hpp> + +llmr::Value llmr::parseValue(pbf data) { + while (data.next()) { + if (data.tag == 1) { // string_value + return data.string(); + } else if (data.tag == 2) { // float_value + return data.float32(); + } else if (data.tag == 3) { // double_value + return data.float64(); + } else if (data.tag == 4) { // int_value + return data.varint<int64_t>(); + } else if (data.tag == 5) { // uint_value + return data.varint<uint64_t>(); + } else if (data.tag == 6) { // sint_value + return data.svarint<int64_t>(); + } else if (data.tag == 7) { // bool_value + return data.boolean(); + } else { + data.skip(); + } + } + + return false; +} |