UNISTDX_IPC_SHMEMBUF
using shmembuf = basic_shmembuf< char >

Instantiation of basic_shmembuf for char.

template <class Ch, class Tr = std::char_traits<Ch>>
class sys::basic_shmembuf

Shared memory stream buffer with synchronisation via process_semaphore.

Ch
character type

Tr
character traits type

  • The class provides both std::streambuf and std::mutex interfaces.
  • Methods lock and unlock must be called in both parent and child process to syncrhonise buffer state updates.

Base classes
Types
Methods
  • owner() const -> bool

    Get buffer's owner.

  • unlock() -> void

    Unlock shared memory buffer.

  • lock() -> void

    Lock shared memory buffer.

  • xsgetn(char_type * s, std::streamsize n) -> std::streamsize

    Overrides std::streambuf::xsgetn.

  • xsputn(const char_type * s, std::streamsize n) -> std::streamsize

    Overrides std::streambuf::xsputn.

  • mem() const -> const shared_mem_type &

    Get raw shared memory container with header.

  • ~basic_shmembuf()
  • basic_shmembuf(basic_shmembuf && rhs)

    Move-constructor.

  • basic_shmembuf(shared_mem_type && rhs)explicit

    Construct shared memory buffer which uses rhs as raw character buffer.