From 282a7a576a1c957fd55dfa1b6ec86b6ac809be0a Mon Sep 17 00:00:00 2001 From: vng Date: Sun, 3 Jul 2011 16:03:11 +0300 Subject: [PATCH] Fix uint64_t -> size-t warnings. --- base/buffer_vector.hpp | 35 +++++++++++++++++------------------ coding/reader.cpp | 2 +- words/sloynik_index.cpp | 3 ++- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/base/buffer_vector.hpp b/base/buffer_vector.hpp index 96aceeba7c..ffdd30e4a0 100644 --- a/base/buffer_vector.hpp +++ b/base/buffer_vector.hpp @@ -220,7 +220,10 @@ private: }; template -void swap(buffer_vector & r1, buffer_vector & r2) { r1.swap(r2); } +void swap(buffer_vector & r1, buffer_vector & r2) +{ + r1.swap(r2); +} template inline string debug_print(buffer_vector const & v) @@ -234,25 +237,21 @@ inline bool operator==(buffer_vector const & v1, buffer_vector con return (v1.size() == v2.size() && std::equal(v1.begin(), v1.end(), v2.begin())); } -template -inline bool operator<(buffer_vector const & v1, buffer_vector const & v2) -{ - const int N = v1.size() > v2.size() ? v2.size() : v1.size(); - for (size_t i = 0; i < N; ++i) - { - if (v1[i] == v2[i]) - continue; - return v1[i] < v2[i]; - } - if (v1.size() == v2.size()) - return false; - if (v1.size() == N) - return true; - return false; -} - template inline bool operator!=(buffer_vector const & v1, buffer_vector const & v2) { return !(v1 == v2); } + +template +inline bool operator<(buffer_vector const & v1, buffer_vector const & v2) +{ + const size_t N = std::min(v1.size(), v2.size()); + for (size_t i = 0; i < N; ++i) + { + if (!(v1[i] == v2[i])) + return v1[i] < v2[i]; + } + + return ((v1.size() != v2.size()) && (v1.size() == N)); +} diff --git a/coding/reader.cpp b/coding/reader.cpp index 2eb6bb7ed9..dc839d76db 100644 --- a/coding/reader.cpp +++ b/coding/reader.cpp @@ -6,7 +6,7 @@ void Reader::ReadAsString(string & s) const { s.clear(); - size_t const sz = Size(); + size_t const sz = static_cast(Size()); s.resize(sz); Read(0, &s[0], sz); } diff --git a/words/sloynik_index.cpp b/words/sloynik_index.cpp index 41bbdb97f5..332b65ae76 100644 --- a/words/sloynik_index.cpp +++ b/words/sloynik_index.cpp @@ -17,7 +17,8 @@ sl::SortedIndex::SortedIndex(Dictionary const & dictionary, Reader const * pIndexReader, StrFn const & strFn) : m_Dictionary(dictionary), m_StrFn(strFn), - m_SortedVector(PolymorphReader(pIndexReader), pIndexReader->Size() / sizeof(DicId)) + m_SortedVector( PolymorphReader(pIndexReader), + static_cast(pIndexReader->Size() / sizeof(DicId))) { STATIC_ASSERT(sizeof(sl::SortedIndex::DicId) == 3); }