mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-30 03:17:15 +02:00
Unordered: Qualify calls to addressof.
Hopefully this will fix C++0x compilers. Although I don't have one at hand to test. [SVN r73690]
This commit is contained in:
@ -49,9 +49,6 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
|
|
||||||
// TODO: Use std::addressof if available?
|
// TODO: Use std::addressof if available?
|
||||||
#include <boost/utility/addressof.hpp>
|
#include <boost/utility/addressof.hpp>
|
||||||
namespace boost { namespace unordered { namespace detail {
|
|
||||||
using boost::addressof;
|
|
||||||
}}}
|
|
||||||
|
|
||||||
namespace boost { namespace unordered { namespace detail {
|
namespace boost { namespace unordered { namespace detail {
|
||||||
|
|
||||||
@ -241,7 +238,8 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
~allocator_array_constructor() {
|
~allocator_array_constructor() {
|
||||||
if (ptr_) {
|
if (ptr_) {
|
||||||
for(pointer p = ptr_; p != constructed_; ++p)
|
for(pointer p = ptr_; p != constructed_; ++p)
|
||||||
allocator_traits<Allocator>::destroy(alloc_, addressof(*p));
|
allocator_traits<Allocator>::destroy(alloc_,
|
||||||
|
boost::addressof(*p));
|
||||||
|
|
||||||
allocator_traits<Allocator>::deallocate(alloc_, ptr_, length_);
|
allocator_traits<Allocator>::deallocate(alloc_, ptr_, length_);
|
||||||
}
|
}
|
||||||
@ -255,7 +253,8 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
ptr_ = allocator_traits<Allocator>::allocate(alloc_, length_);
|
ptr_ = allocator_traits<Allocator>::allocate(alloc_, length_);
|
||||||
pointer end = ptr_ + static_cast<std::ptrdiff_t>(length_);
|
pointer end = ptr_ + static_cast<std::ptrdiff_t>(length_);
|
||||||
for(constructed_ = ptr_; constructed_ != end; ++constructed_)
|
for(constructed_ = ptr_; constructed_ != end; ++constructed_)
|
||||||
allocator_traits<Allocator>::construct(alloc_, addressof(*constructed_), v);
|
allocator_traits<Allocator>::construct(alloc_,
|
||||||
|
boost::addressof(*constructed_), v);
|
||||||
}
|
}
|
||||||
|
|
||||||
pointer get() const
|
pointer get() const
|
||||||
|
@ -195,7 +195,7 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
|
|
||||||
void delete_node(node_ptr n)
|
void delete_node(node_ptr n)
|
||||||
{
|
{
|
||||||
node* raw_ptr = static_cast<node*>(addressof(*n));
|
node* raw_ptr = static_cast<node*>(boost::addressof(*n));
|
||||||
real_node_ptr real_ptr(node_alloc().address(*raw_ptr));
|
real_node_ptr real_ptr(node_alloc().address(*raw_ptr));
|
||||||
|
|
||||||
::boost::unordered::detail::destroy(raw_ptr->value_ptr());
|
::boost::unordered::detail::destroy(raw_ptr->value_ptr());
|
||||||
@ -217,7 +217,8 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
|
|
||||||
++end;
|
++end;
|
||||||
for(bucket_ptr begin = this->buckets_; begin != end; ++begin) {
|
for(bucket_ptr begin = this->buckets_; begin != end; ++begin) {
|
||||||
allocator_traits<bucket_allocator>::destroy(bucket_alloc(), addressof(*begin));
|
allocator_traits<bucket_allocator>::destroy(bucket_alloc(),
|
||||||
|
boost::addressof(*begin));
|
||||||
}
|
}
|
||||||
|
|
||||||
allocator_traits<bucket_allocator>::deallocate(bucket_alloc(), this->buckets_, this->bucket_count_ + 1);
|
allocator_traits<bucket_allocator>::deallocate(bucket_alloc(), this->buckets_, this->bucket_count_ + 1);
|
||||||
@ -586,7 +587,8 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (node_constructed_)
|
if (node_constructed_)
|
||||||
allocator_traits<node_allocator>::destroy(buckets_.node_alloc(), addressof(*node_));
|
allocator_traits<node_allocator>::destroy(buckets_.node_alloc(),
|
||||||
|
boost::addressof(*node_));
|
||||||
|
|
||||||
allocator_traits<node_allocator>::deallocate(buckets_.node_alloc(), node_, 1);
|
allocator_traits<node_allocator>::deallocate(buckets_.node_alloc(), node_, 1);
|
||||||
}
|
}
|
||||||
@ -600,7 +602,8 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
value_constructed_ = false;
|
value_constructed_ = false;
|
||||||
|
|
||||||
node_ = allocator_traits<node_allocator>::allocate(buckets_.node_alloc(), 1);
|
node_ = allocator_traits<node_allocator>::allocate(buckets_.node_alloc(), 1);
|
||||||
allocator_traits<node_allocator>::construct(buckets_.node_alloc(), addressof(*node_), node());
|
allocator_traits<node_allocator>::construct(buckets_.node_alloc(),
|
||||||
|
boost::addressof(*node_), node());
|
||||||
node_->init(buckets_.bucket_alloc().address(*node_));
|
node_->init(buckets_.bucket_alloc().address(*node_));
|
||||||
|
|
||||||
node_constructed_ = true;
|
node_constructed_ = true;
|
||||||
|
Reference in New Issue
Block a user