title: Boost: is there an interprocess::message_queue-like mechanism for thread-only communication?
body: <p>The boost::interprocess::message_queue mechanism seems primarily designed for just that: interprocess communication.</p>
  
  <p>The problem is that it serializes the objects in the message:</p>
  
  <p><em>"A message queue just copies raw bytes between processes and does not send objects."</em></p>
  
  <p>This makes it completely unsuitable for fast and repeated interthread communication with large composite objects being passed.</p>
  
  <p>I want to create a message with a ref/shared_ptr/pointer to a known and previously-created object and safely pass it from one thread to the next.</p>
  
  <p>You CAN use asio::io_service and post with bind completions, but that's rather klunky AND requires that the thread in question be using asio, which seems a bit odd.</p>
  
  <p>I've already written my own, sadly based on asio::io_service, but would prefer to switch over to a boost-supported general mechansim.</p>