summaryrefslogtreecommitdiff
path: root/boost/interprocess/ipc/message_queue.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/interprocess/ipc/message_queue.hpp')
-rw-r--r--boost/interprocess/ipc/message_queue.hpp34
1 files changed, 20 insertions, 14 deletions
diff --git a/boost/interprocess/ipc/message_queue.hpp b/boost/interprocess/ipc/message_queue.hpp
index 09290587d9..db422cc9d3 100644
--- a/boost/interprocess/ipc/message_queue.hpp
+++ b/boost/interprocess/ipc/message_queue.hpp
@@ -11,7 +11,11 @@
#ifndef BOOST_INTERPROCESS_MESSAGE_QUEUE_HPP
#define BOOST_INTERPROCESS_MESSAGE_QUEUE_HPP
-#if defined(_MSC_VER)
+#ifndef BOOST_CONFIG_HPP
+# include <boost/config.hpp>
+#endif
+#
+#if defined(BOOST_HAS_PRAGMA_ONCE)
# pragma once
#endif
@@ -28,11 +32,10 @@
#include <boost/interprocess/creation_tags.hpp>
#include <boost/interprocess/exceptions.hpp>
#include <boost/interprocess/permissions.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/core/no_exceptions_support.hpp>
#include <boost/interprocess/detail/type_traits.hpp>
#include <boost/intrusive/pointer_traits.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/alignment_of.hpp>
+#include <boost/move/detail/type_traits.hpp> //make_unsigned, alignment_of
#include <boost/intrusive/pointer_traits.hpp>
#include <boost/assert.hpp>
#include <algorithm> //std::lower_bound
@@ -71,7 +74,7 @@ class message_queue_t
pointer_traits<void_pointer>::template
rebind_pointer<char>::type char_ptr;
typedef typename boost::intrusive::pointer_traits<char_ptr>::difference_type difference_type;
- typedef typename boost::make_unsigned<difference_type>::type size_type;
+ typedef typename boost::container::container_detail::make_unsigned<difference_type>::type size_type;
//!Creates a process shared message queue with name "name". For this message queue,
//!the maximum number of messages will be "max_num_msg" and the maximum message size
@@ -208,7 +211,7 @@ class msg_hdr_t
pointer_traits<void_pointer>::template
rebind_pointer<char>::type char_ptr;
typedef typename boost::intrusive::pointer_traits<char_ptr>::difference_type difference_type;
- typedef typename boost::make_unsigned<difference_type>::type size_type;
+ typedef typename boost::container::container_detail::make_unsigned<difference_type>::type size_type;
public:
size_type len; // Message length
@@ -293,7 +296,8 @@ class mq_hdr_t
rebind_pointer<msg_header>::type msg_hdr_ptr_t;
typedef typename boost::intrusive::pointer_traits
<msg_hdr_ptr_t>::difference_type difference_type;
- typedef typename boost::make_unsigned<difference_type>::type size_type;
+ typedef typename boost::container::
+ container_detail::make_unsigned<difference_type>::type size_type;
typedef typename boost::intrusive::
pointer_traits<void_pointer>::template
rebind_pointer<msg_hdr_ptr_t>::type msg_hdr_ptr_ptr_t;
@@ -525,8 +529,8 @@ class mq_hdr_t
(size_type max_msg_size, size_type max_num_msg)
{
const size_type
- msg_hdr_align = ::boost::alignment_of<msg_header>::value,
- index_align = ::boost::alignment_of<msg_hdr_ptr_t>::value,
+ msg_hdr_align = ::boost::container::container_detail::alignment_of<msg_header>::value,
+ index_align = ::boost::container::container_detail::alignment_of<msg_hdr_ptr_t>::value,
r_hdr_size = ipcdetail::ct_rounded_size<sizeof(mq_hdr_t), index_align>::value,
r_index_size = ipcdetail::get_rounded_size<size_type>(max_num_msg*sizeof(msg_hdr_ptr_t), msg_hdr_align),
r_max_msg_size = ipcdetail::get_rounded_size<size_type>(max_msg_size, msg_hdr_align) + sizeof(msg_header);
@@ -539,8 +543,8 @@ class mq_hdr_t
void initialize_memory()
{
const size_type
- msg_hdr_align = ::boost::alignment_of<msg_header>::value,
- index_align = ::boost::alignment_of<msg_hdr_ptr_t>::value,
+ msg_hdr_align = ::boost::container::container_detail::alignment_of<msg_header>::value,
+ index_align = ::boost::container::container_detail::alignment_of<msg_hdr_ptr_t>::value,
r_hdr_size = ipcdetail::ct_rounded_size<sizeof(mq_hdr_t), index_align>::value,
r_index_size = ipcdetail::get_rounded_size<size_type>(m_max_num_msg*sizeof(msg_hdr_ptr_t), msg_hdr_align),
r_max_msg_size = ipcdetail::get_rounded_size<size_type>(m_max_msg_size, msg_hdr_align) + sizeof(msg_header);
@@ -596,9 +600,11 @@ class msg_queue_initialization_func_t
public:
typedef typename boost::intrusive::
pointer_traits<VoidPointer>::template
- rebind_pointer<char>::type char_ptr;
- typedef typename boost::intrusive::pointer_traits<char_ptr>::difference_type difference_type;
- typedef typename boost::make_unsigned<difference_type>::type size_type;
+ rebind_pointer<char>::type char_ptr;
+ typedef typename boost::intrusive::pointer_traits<char_ptr>::
+ difference_type difference_type;
+ typedef typename boost::container::container_detail::
+ make_unsigned<difference_type>::type size_type;
msg_queue_initialization_func_t(size_type maxmsg = 0,
size_type maxmsgsize = 0)