mirror of
https://github.com/boostorg/regex.git
synced 2025-07-21 16:22:43 +02:00
Fix some compiler warnings by using "int" consistently for hash values.
[SVN r66072]
This commit is contained in:
@ -62,12 +62,12 @@ void bubble_down_one(I first, I last)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class Iterator>
|
template <class Iterator>
|
||||||
inline std::size_t hash_value_from_capture_name(Iterator i, Iterator j)
|
inline int hash_value_from_capture_name(Iterator i, Iterator j)
|
||||||
{
|
{
|
||||||
std::size_t r = boost::hash_range(i, j);
|
std::size_t r = boost::hash_range(i, j);
|
||||||
r %= ((std::numeric_limits<int>::max)() - 10001);
|
r %= ((std::numeric_limits<int>::max)() - 10001);
|
||||||
r += 10000;
|
r += 10000;
|
||||||
return r;
|
return static_cast<int>(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
class named_subexpressions
|
class named_subexpressions
|
||||||
@ -81,12 +81,12 @@ public:
|
|||||||
{
|
{
|
||||||
hash = hash_value_from_capture_name(i, j);
|
hash = hash_value_from_capture_name(i, j);
|
||||||
}
|
}
|
||||||
name(std::size_t h, int idx)
|
name(int h, int idx)
|
||||||
: index(idx), hash(h)
|
: index(idx), hash(h)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
int index;
|
int index;
|
||||||
std::size_t hash;
|
int hash;
|
||||||
bool operator < (const name& other)const
|
bool operator < (const name& other)const
|
||||||
{
|
{
|
||||||
return hash < other.hash;
|
return hash < other.hash;
|
||||||
@ -130,7 +130,7 @@ public:
|
|||||||
name t(i, j, 0);
|
name t(i, j, 0);
|
||||||
return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
|
return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
|
||||||
}
|
}
|
||||||
int get_id(std::size_t h)const
|
int get_id(int h)const
|
||||||
{
|
{
|
||||||
name t(h, 0);
|
name t(h, 0);
|
||||||
std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);
|
std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);
|
||||||
@ -140,7 +140,7 @@ public:
|
|||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
range_type equal_range(std::size_t h)const
|
range_type equal_range(int h)const
|
||||||
{
|
{
|
||||||
name t(h, 0);
|
name t(h, 0);
|
||||||
return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
|
return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
|
||||||
|
@ -811,7 +811,7 @@ void basic_regex_creator<charT, traits>::fixup_recursions(re_syntax_base* state)
|
|||||||
// There may be more than one capture group with this hash, just do what Perl
|
// There may be more than one capture group with this hash, just do what Perl
|
||||||
// does and recurse to the leftmost:
|
// does and recurse to the leftmost:
|
||||||
//
|
//
|
||||||
idx = m_pdata->get_id(idx);
|
idx = m_pdata->get_id(static_cast<int>(idx));
|
||||||
}
|
}
|
||||||
while(p)
|
while(p)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user