/// Implementation common to readable and writable shared queues
class SharedQueue
{
};

/// Interface of readable shared queues
class ReadableSharedQueueInterface
{
public:
  /// Receive a message in blocking mode
  virtual void	receiveWithoutCopy() = 0;
};

/// Implementation of readable shared queues
class ReadableSharedQueue
  : public ReadableSharedQueueInterface,
    public SharedQueue
{
public:
  virtual void receiveWithoutCopy();
};
