Support GCC's -Wconversion -Wfloat-conversion -Warith-conversion -Wsign-conversion warnings.

This commit is contained in:
Ion Gaztañaga committed 2021-10-16 15:57:47 +02:00
1 parent 883868e6b2
commit dad2cb2d02
42 files changed
+813 -754

No files matched your search

+14 -13
View File
@@ -212,15 +212,16 @@ template<class SequenceContainer, class Iterator, class Compare>
BOOST_CONTAINER_FORCEINLINE void flat_tree_merge_unique //has_merge_unique == false
(SequenceContainer& dest, Iterator first, Iterator last, Compare comp, dtl::false_)
{
typedef typename SequenceContainer::iterator iterator;
typedef typename SequenceContainer::size_type size_type;
typedef typename SequenceContainer::iterator iterator;
typedef typename SequenceContainer::size_type size_type;
typedef typename SequenceContainer::difference_type difference_type;
size_type const old_sz = dest.size();
iterator const first_new = dest.insert(dest.cend(), first, last );
iterator e = boost::movelib::inplace_set_unique_difference(first_new, dest.end(), dest.begin(), first_new, comp);
dest.erase(e, dest.end());
dtl::bool_<is_contiguous_container<SequenceContainer>::value> contiguous_tag;
(flat_tree_container_inplace_merge)(dest, dest.begin()+old_sz, comp, contiguous_tag);
(flat_tree_container_inplace_merge)(dest, dest.begin() + difference_type(old_sz), comp, contiguous_tag);
}
///////////////////////////////////////
@@ -263,7 +264,7 @@ BOOST_CONTAINER_FORCEINLINE Iterator
flat_tree_nth // has_nth == false
(SequenceContainer& cont, typename SequenceContainer::size_type n, dtl::false_)
{
return cont.begin()+ n;
return cont.begin()+ typename SequenceContainer::difference_type(n);
}
///////////////////////////////////////
@@ -1013,7 +1014,7 @@ class flat_tree
: this->priv_insert_unique_prepare(hint, k, data);
if(!ret.second){
ret.first = this->nth(data.position - this->cbegin());
ret.first = this->nth(size_type(data.position - this->cbegin()));
}
else{
ret.first = this->m_data.m_seq.emplace(data.position, try_emplace_t(), ::boost::forward<KeyType>(key), ::boost::forward<Args>(args)...);
@@ -1079,7 +1080,7 @@ class flat_tree
: this->priv_insert_unique_prepare(hint, k, data);\
\
if(!ret.second){\
ret.first = this->nth(data.position - this->cbegin());\
ret.first = this->nth(size_type(data.position - this->cbegin()));\
}\
else{\
ret.first = this->m_data.m_seq.emplace(data.position, try_emplace_t(), ::boost::forward<KeyType>(key) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
@@ -1102,7 +1103,7 @@ class flat_tree
? this->priv_insert_unique_prepare(k, data)
: this->priv_insert_unique_prepare(hint, k, data);
if(!ret.second){
ret.first = this->nth(data.position - this->cbegin());
ret.first = this->nth(size_type(data.position - this->cbegin()));
ret.first->second = boost::forward<M>(obj);
}
else{
@@ -1234,7 +1235,7 @@ class flat_tree
size_type count(const key_type& k) const
{
std::pair<const_iterator, const_iterator> p = this->equal_range(k);
size_type n = p.second - p.first;
size_type n = size_type(p.second - p.first);
return n;
}
@@ -1244,7 +1245,7 @@ class flat_tree
count(const K& k) const
{
std::pair<const_iterator, const_iterator> p = this->equal_range(k);
size_type n = p.second - p.first;
size_type n = size_type(p.second - p.first);
return n;
}
@@ -1588,7 +1589,7 @@ class flat_tree
while (len) {
size_type step = len >> 1;
middle = first;
middle += step;
middle += difference_type(step);
if (key_cmp(key_extract(*middle), key)) {
first = ++middle;
@@ -1613,7 +1614,7 @@ class flat_tree
while (len) {
size_type step = len >> 1;
middle = first;
middle += step;
middle += difference_type(step);
if (key_cmp(key, key_extract(*middle))) {
len = step;
@@ -1638,7 +1639,7 @@ class flat_tree
while (len) {
size_type step = len >> 1;
middle = first;
middle += step;
middle += difference_type(step);
if (key_cmp(key_extract(*middle), key)){
first = ++middle;
@@ -1650,7 +1651,7 @@ class flat_tree
else {
//Middle is equal to key
last = first;
last += len;
last += difference_type(len);
RanIt const first_ret = this->priv_lower_bound(first, middle, key);
return std::pair<RanIt, RanIt>
( first_ret, this->priv_upper_bound(++middle, last, key));