diff options
author | Yuri Gorshenin <y@maps.me> | 2017-04-19 13:51:25 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <bykoianko@gmail.com> | 2017-04-19 15:08:21 +0300 |
commit | 6d3583c937b1878c8f796e659ef03d038cde17ab (patch) | |
tree | 79e92b416ac471e93ac7024c294419afba84822f | |
parent | acd974ec22d3a49785412bfcc2b602277156b4c9 (diff) |
[build] Various fixes to master build.
-rw-r--r-- | 3party/jansson/myjansson.cpp | 64 | ||||
-rw-r--r-- | 3party/jansson/myjansson.hpp | 9 | ||||
-rw-r--r-- | map/local_ads_manager.cpp | 4 | ||||
-rw-r--r-- | partners_api/booking_api.cpp | 2 | ||||
-rw-r--r-- | partners_api/uber_api.cpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/context.cpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/main_model.cpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/main_view.cpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/main_view.hpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/sample_view.cpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/sample_view.hpp | 2 | ||||
-rw-r--r-- | search/search_quality/assessment_tool/view.hpp | 3 | ||||
-rw-r--r-- | storage/country.cpp | 12 |
13 files changed, 71 insertions, 37 deletions
diff --git a/3party/jansson/myjansson.cpp b/3party/jansson/myjansson.cpp index 3e1b0d3f75..0b853747da 100644 --- a/3party/jansson/myjansson.cpp +++ b/3party/jansson/myjansson.cpp @@ -1,7 +1,38 @@ #include "3party/jansson/myjansson.hpp" +#include <type_traits> + using namespace std; +namespace +{ +template <typename T> +typename enable_if<is_integral<T>::value, void>::type ReadIntegral(json_t * root, + string const & field, T & result) +{ + auto * val = my::GetJSONObligatoryField(root, field); + if (!json_is_number(val)) + MYTHROW(my::Json::Exception, ("The field", field, "must contain a json number.")); + result = static_cast<T>(json_integer_value(val)); +} + +template <typename T> +typename enable_if<is_integral<T>::value, void>::type ReadIntegralOptional(json_t * root, + string const & field, + T & result) +{ + auto * val = my::GetJSONOptionalField(root, field); + if (!val) + { + result = 0; + return; + } + if (!json_is_number(val)) + MYTHROW(my::Json::Exception, ("The field", field, "must contain a json number.")); + result = static_cast<T>(json_integer_value(val)); +} +} // namespace + namespace my { json_t * GetJSONObligatoryField(json_t * root, std::string const & field) @@ -28,25 +59,24 @@ void FromJSONObject(json_t * root, string const & field, double & result) result = json_number_value(val); } -void FromJSONObject(json_t * root, string const & field, json_int_t & result) +void FromJSONObject(json_t * root, string const & field, int & result) { - auto * val = my::GetJSONObligatoryField(root, field); - if (!json_is_number(val)) - MYTHROW(my::Json::Exception, ("The field", field, "must contain a json number.")); - result = json_integer_value(val); + ReadIntegral(root, field, result); } -void FromJSONObjectOptionalField(json_t * root, string const & field, json_int_t & result) +void FromJSONObject(json_t * root, string const & field, int64_t & result) { - auto * val = my::GetJSONOptionalField(root, field); - if (!val) - { - result = 0; - return; - } - if (!json_is_number(val)) - MYTHROW(my::Json::Exception, ("The field", field, "must contain a json number.")); - result = json_integer_value(val); + ReadIntegral(root, field, result); +} + +void FromJSONObjectOptionalField(json_t * root, string const & field, int & result) +{ + ReadIntegralOptional(root, field, result); +} + +void FromJSONObjectOptionalField(json_t * root, string const & field, int64_t & result) +{ + ReadIntegralOptional(root, field, result); } void FromJSONObjectOptionalField(json_t * root, string const & field, double & result) @@ -95,10 +125,10 @@ void ToJSONObject(json_t & root, string const & field, double value) void ToJSONObject(json_t & root, string const & field, int value) { - json_object_set_new(&root, field.c_str(), json_integer(value)); + ToJSONObject(root, field, static_cast<int64_t>(value)); } -void ToJSONObject(json_t & root, std::string const & field, json_int_t value) +void ToJSONObject(json_t & root, std::string const & field, int64_t value) { json_object_set_new(&root, field.c_str(), json_integer(value)); } diff --git a/3party/jansson/myjansson.hpp b/3party/jansson/myjansson.hpp index 3945675e8a..7b68c4211e 100644 --- a/3party/jansson/myjansson.hpp +++ b/3party/jansson/myjansson.hpp @@ -5,6 +5,7 @@ #include "base/exception.hpp" #include "base/string_utils.hpp" +#include <cstdint> #include <memory> #include <string> #include <vector> @@ -49,9 +50,11 @@ json_t * GetJSONOptionalField(json_t * root, std::string const & field); inline void FromJSON(json_t * root, json_t *& value) { value = root; } void FromJSONObject(json_t * root, std::string const & field, double & result); -void FromJSONObject(json_t * root, std::string const & field, json_int_t & result); +void FromJSONObject(json_t * root, std::string const & field, int & result); +void FromJSONObject(json_t * root, std::string const & field, int64_t & result); -void FromJSONObjectOptionalField(json_t * root, std::string const & field, json_int_t & result); +void FromJSONObjectOptionalField(json_t * root, std::string const & field, int & result); +void FromJSONObjectOptionalField(json_t * root, std::string const & field, int64_t & result); void FromJSONObjectOptionalField(json_t * root, std::string const & field, double & result); void FromJSONObjectOptionalField(json_t * root, std::string const & field, bool & result, bool def = false); @@ -59,7 +62,7 @@ void FromJSONObjectOptionalField(json_t * root, std::string const & field, json_ void ToJSONObject(json_t & root, std::string const & field, double value); void ToJSONObject(json_t & root, std::string const & field, int value); -void ToJSONObject(json_t & root, std::string const & field, json_int_t value); +void ToJSONObject(json_t & root, std::string const & field, int64_t value); void FromJSON(json_t * root, std::string & result); inline my::JSONPtr ToJSON(std::string const & s) { return my::NewJSONString(s); } diff --git a/map/local_ads_manager.cpp b/map/local_ads_manager.cpp index d52054296b..1443cdf7c5 100644 --- a/map/local_ads_manager.cpp +++ b/map/local_ads_manager.cpp @@ -124,8 +124,8 @@ std::vector<uint8_t> SerializeLocalAdsToJSON(std::list<local_ads::Event> const & auto eventNode = my::NewJSONObject(); auto s = duration_cast<seconds>(event.m_timestamp.time_since_epoch()).count(); ToJSONObject(*eventNode, "type", static_cast<uint8_t>(event.m_type)); - ToJSONObject(*eventNode, "timestamp", static_cast<json_int_t>(s)); - ToJSONObject(*eventNode, "featureId", static_cast<json_int_t>(event.m_featureId)); + ToJSONObject(*eventNode, "timestamp", static_cast<int64_t>(s)); + ToJSONObject(*eventNode, "featureId", static_cast<int32_t>(event.m_featureId)); ToJSONObject(*eventNode, "zoomLevel", event.m_zoomLevel); ToJSONObject(*eventNode, "latitude", event.m_latitude); ToJSONObject(*eventNode, "longitude", event.m_longitude); diff --git a/partners_api/booking_api.cpp b/partners_api/booking_api.cpp index 99dcd77ae8..08d0ae50cc 100644 --- a/partners_api/booking_api.cpp +++ b/partners_api/booking_api.cpp @@ -185,7 +185,7 @@ void FillHotelInfo(string const & src, HotelInfo & info) FromJSONObjectOptionalField(root.get(), "score", score); info.m_score = static_cast<float>(score); - json_int_t scoreCount = 0; + int64_t scoreCount = 0; FromJSONObjectOptionalField(root.get(), "score_count", scoreCount); info.m_scoreCount = static_cast<uint32_t>(scoreCount); diff --git a/partners_api/uber_api.cpp b/partners_api/uber_api.cpp index aea8d677c6..850667d5ed 100644 --- a/partners_api/uber_api.cpp +++ b/partners_api/uber_api.cpp @@ -59,7 +59,7 @@ void FillProducts(json_t const * time, json_t const * price, vector<uber::Produc for (size_t i = 0; i < timeSize; ++i) { uber::Product product; - json_int_t estimatedTime = 0; + int64_t estimatedTime = 0; auto const item = json_array_get(time, i); FromJSONObject(item, "display_name", product.m_name); FromJSONObject(item, "estimate", estimatedTime); diff --git a/search/search_quality/assessment_tool/context.cpp b/search/search_quality/assessment_tool/context.cpp index f7c607dcda..5eda346d10 100644 --- a/search/search_quality/assessment_tool/context.cpp +++ b/search/search_quality/assessment_tool/context.cpp @@ -86,7 +86,7 @@ search::Sample Context::MakeSample(search::FeatureLoader & loader) const if (foundRelevances[i] == search::Sample::Result::Relevance::Irrelevant) continue; - auto const & result = m_foundResults.GetResult(i); + auto const & result = m_foundResults[i]; // No need in non-feature results. if (result.GetResultType() != search::Result::RESULT_FEATURE) continue; diff --git a/search/search_quality/assessment_tool/main_model.cpp b/search/search_quality/assessment_tool/main_model.cpp index 70111a32fb..066f1c8284 100644 --- a/search/search_quality/assessment_tool/main_model.cpp +++ b/search/search_quality/assessment_tool/main_model.cpp @@ -187,7 +187,7 @@ void MainModel::OnResultSelected(int index) CHECK_GREATER_OR_EQUAL(index, 0, ()); CHECK_LESS(index, foundResults.GetCount(), ()); - m_view->MoveViewportToResult(foundResults.GetResult(index)); + m_view->MoveViewportToResult(foundResults[index]); } void MainModel::OnNonFoundResultSelected(int index) diff --git a/search/search_quality/assessment_tool/main_view.cpp b/search/search_quality/assessment_tool/main_view.cpp index 1fd4c7545e..d4af8b6eed 100644 --- a/search/search_quality/assessment_tool/main_view.cpp +++ b/search/search_quality/assessment_tool/main_view.cpp @@ -72,7 +72,7 @@ void MainView::ShowSample(size_t sampleIndex, search::Sample const & sample, boo OnSampleChanged(sampleIndex, hasEdits); } -void MainView::ShowFoundResults(search::Results::Iter begin, search::Results::Iter end) +void MainView::ShowFoundResults(search::Results::ConstIter begin, search::Results::ConstIter end) { m_sampleView->ShowFoundResults(begin, end); } diff --git a/search/search_quality/assessment_tool/main_view.hpp b/search/search_quality/assessment_tool/main_view.hpp index 1f3b882d8e..8f3321c108 100644 --- a/search/search_quality/assessment_tool/main_view.hpp +++ b/search/search_quality/assessment_tool/main_view.hpp @@ -29,7 +29,7 @@ public: // View overrides: void SetSamples(ContextList::SamplesSlice const & samples) override; void ShowSample(size_t sampleIndex, search::Sample const & sample, bool hasEdits) override; - void ShowFoundResults(search::Results::Iter begin, search::Results::Iter end) override; + void ShowFoundResults(search::Results::ConstIter begin, search::Results::ConstIter end) override; void ShowNonFoundResults(std::vector<search::Sample::Result> const & results) override; void MoveViewportToResult(search::Result const & result) override; diff --git a/search/search_quality/assessment_tool/sample_view.cpp b/search/search_quality/assessment_tool/sample_view.cpp index 50d10f2d3e..b18006efc4 100644 --- a/search/search_quality/assessment_tool/sample_view.cpp +++ b/search/search_quality/assessment_tool/sample_view.cpp @@ -102,7 +102,7 @@ void SampleView::SetContents(search::Sample const & sample) m_nonFoundResults->Clear(); } -void SampleView::ShowFoundResults(search::Results::Iter begin, search::Results::Iter end) +void SampleView::ShowFoundResults(search::Results::ConstIter begin, search::Results::ConstIter end) { for (auto it = begin; it != end; ++it) m_foundResults->Add(*it /* result */); diff --git a/search/search_quality/assessment_tool/sample_view.hpp b/search/search_quality/assessment_tool/sample_view.hpp index ca12160199..725f932e0d 100644 --- a/search/search_quality/assessment_tool/sample_view.hpp +++ b/search/search_quality/assessment_tool/sample_view.hpp @@ -21,7 +21,7 @@ public: explicit SampleView(QWidget * parent); void SetContents(search::Sample const & sample); - void ShowFoundResults(search::Results::Iter begin, search::Results::Iter end); + void ShowFoundResults(search::Results::ConstIter begin, search::Results::ConstIter end); void ShowNonFoundResults(std::vector<search::Sample::Result> const & results); void EnableEditing(Edits & resultsEdits, Edits & nonFoundResultsEdits); diff --git a/search/search_quality/assessment_tool/view.hpp b/search/search_quality/assessment_tool/view.hpp index 15cf4a044d..11fa15c7ec 100644 --- a/search/search_quality/assessment_tool/view.hpp +++ b/search/search_quality/assessment_tool/view.hpp @@ -29,7 +29,8 @@ public: virtual void SetSamples(ContextList::SamplesSlice const & samples) = 0; virtual void ShowSample(size_t index, search::Sample const & sample, bool hasEdits) = 0; - virtual void ShowFoundResults(search::Results::Iter begin, search::Results::Iter end) = 0; + virtual void ShowFoundResults(search::Results::ConstIter begin, + search::Results::ConstIter end) = 0; virtual void ShowNonFoundResults(std::vector<search::Sample::Result> const & results) = 0; virtual void MoveViewportToResult(search::Result const & result) = 0; diff --git a/storage/country.cpp b/storage/country.cpp index ab40dfba2b..b7a9a7a9d1 100644 --- a/storage/country.cpp +++ b/storage/country.cpp @@ -128,7 +128,7 @@ TMwmSubtreeAttrs LoadGroupSingleMwmsImpl(size_t depth, json_t * node, TCountryId for (auto const & affilationValue : affiliations) store.InsertAffiliation(id, affilationValue); - json_int_t nodeSize; + int nodeSize; FromJSONObjectOptionalField(node, "s", nodeSize); ASSERT_LESS_OR_EQUAL(0, nodeSize, ()); // We expect that mwm and routing files should be less than 2GB. @@ -243,7 +243,7 @@ TMwmSubtreeAttrs LoadGroupTwoComponentMwmsImpl(size_t depth, json_t * node, FromJSONObject(node, "n", file); // If file is empty, it's the same as the name. // We expect that mwm and routing files should be less than 2GB. - json_int_t mwmSize, routingSize; + int mwmSize, routingSize; FromJSONObjectOptionalField(node, "s", mwmSize); FromJSONObjectOptionalField(node, "rs", routingSize); ASSERT_LESS_OR_EQUAL(0, mwmSize, ()); @@ -300,13 +300,13 @@ int64_t LoadCountries(string const & jsonBuffer, TCountryTree & countries, countries.Clear(); affiliations.clear(); - json_int_t version = -1; + int64_t version = -1; try { my::Json root(jsonBuffer.c_str()); FromJSONObject(root.get(), "v", version); - if (version::IsSingleMwm(static_cast<int64_t>(version))) + if (version::IsSingleMwm(version)) { StoreCountriesSingleMwms store(countries, affiliations); if (!LoadCountriesSingleMwmsImpl(jsonBuffer, store)) @@ -336,12 +336,12 @@ void LoadCountryFile2CountryInfo(string const & jsonBuffer, map<string, CountryI { ASSERT(id2info.empty(), ()); - json_int_t version = -1; + int64_t version = -1; try { my::Json root(jsonBuffer.c_str()); FromJSONObjectOptionalField(root.get(), "v", version); - isSingleMwm = version::IsSingleMwm(static_cast<int64_t>(version)); + isSingleMwm = version::IsSingleMwm(version); if (isSingleMwm) { StoreFile2InfoSingleMwms store(id2info); |