#include <boost/log/attributes/attribute_value.hpp>
#include <boost/log/attributes/named_scope.hpp>
#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
+#include <boost/log/detail/allocator_traits.hpp>
#include <boost/log/detail/singleton.hpp>
#if !defined(BOOST_LOG_NO_THREADS)
#include <boost/thread/tss.hpp>
if (m_Size > 0)
{
// Copy the container contents
- pointer p = allocator_type::allocate(that.size());
+ pointer p = log::aux::allocator_traits< allocator_type >::allocate(*static_cast< allocator_type* >(this), that.size());
aux::named_scope_list_node* prev = &m_RootNode;
for (const_iterator src = that.begin(), end = that.end(); src != end; ++src, ++p)
{
- allocator_type::construct(p, *src); // won't throw
+ log::aux::allocator_traits< allocator_type >::construct(*static_cast< allocator_type* >(this), p, *src); // won't throw
p->_m_pPrev = prev;
prev->_m_pNext = p;
prev = p;
iterator it(m_RootNode._m_pNext);
iterator end(&m_RootNode);
while (it != end)
- allocator_type::destroy(&*(it++));
- allocator_type::deallocate(static_cast< pointer >(m_RootNode._m_pNext), m_Size);
+ log::aux::allocator_traits< allocator_type >::destroy(*static_cast< allocator_type* >(this), &*(it++));
+ log::aux::allocator_traits< allocator_type >::deallocate(*static_cast< allocator_type* >(this), static_cast< pointer >(m_RootNode._m_pNext), m_Size);
}
}