Update of /cvsroot/boost/boost/boost/interprocess/indexes
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17964/indexes
Modified Files:
iset_index.hpp iunordered_set_index.hpp
Log Message:
Corrected gcc bug in release mode
Index: iset_index.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/interprocess/indexes/iset_index.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- iset_index.hpp 12 May 2007 12:51:20 -0000 1.2
+++ iset_index.hpp 23 May 2007 15:47:54 -0000 1.3
@@ -81,24 +81,28 @@
/// @cond
private:
+
struct intrusive_key_value_less
{
bool operator()(const intrusive_compare_key_type &i, const value_type
&b) const
{
- return (i.m_len < b.m_num_char) ||
- (i.m_len == b.m_num_char &&
+ std::size_t blen = b.length();
+ return (i.m_len < blen) ||
+ (i.m_len == blen &&
std::char_traits<char_type>::compare
(i.mp_str, b.name(), i.m_len) < 0);
}
bool operator()(const value_type &b, const intrusive_compare_key_type
&i) const
{
- return (b.m_num_char < i.m_len) ||
- (b.m_num_char == i.m_len &&
+ std::size_t blen = b.length();
+ return (blen < i.m_len) ||
+ (blen == i.m_len &&
std::char_traits<char_type>::compare
(b.name(), i.mp_str, i.m_len) < 0);
}
};
+
/// @endcond
public:
Index: iunordered_set_index.hpp
===================================================================
RCS file:
/cvsroot/boost/boost/boost/interprocess/indexes/iunordered_set_index.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- iunordered_set_index.hpp 12 May 2007 12:51:20 -0000 1.2
+++ iunordered_set_index.hpp 23 May 2007 15:47:54 -0000 1.3
@@ -59,23 +59,23 @@
{
bool operator()(const intrusive_compare_key_type &i, const value_type
&b) const
{
- return (i.m_len == b.m_num_char) &&
+ return (i.m_len == b.length()) &&
(std::char_traits<char_type>::compare
(i.mp_str, b.name(), i.m_len) == 0);
}
bool operator()(const value_type &b, const intrusive_compare_key_type
&i) const
{
- return (i.m_len == b.m_num_char) &&
+ return (i.m_len == b.length()) &&
(std::char_traits<char_type>::compare
(i.mp_str, b.name(), i.m_len) == 0);
}
bool operator()(const value_type &b1, const value_type &b2) const
{
- return (b1.m_num_char == b2.m_num_char) &&
+ return (b1.length() == b2.length()) &&
(std::char_traits<char_type>::compare
- (b1.name(), b2.name(), b1.m_num_char) == 0);
+ (b1.name(), b2.name(), b1.length()) == 0);
}
};
@@ -85,7 +85,7 @@
std::size_t operator()(const value_type &val) const
{
const char_type *beg = detail::get_pointer(val.name()),
- *end = beg + val.m_num_char;
+ *end = beg + val.length();
return boost::hash_range(beg, end);
}
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs