Boost.Interprocess

November 25, 2025 ยท View on GitHub

Boost.Interprocess simplifies the use of common interprocess communication and synchronization mechanisms and offers a wide range of them:

  • Shared memory.
  • Memory-mapped files.
  • Semaphores, mutexes, condition variables and upgradable mutex types to place them in shared memory and memory mapped files.
  • Named versions of those synchronization objects, similar to UNIX/Windows sem_open/CreateSemaphore API.
  • File locking.
  • Relative pointers.
  • Message queues.

Also offers higher-level interprocess mechanisms to dynamically allocate portions of a shared memory or a memory mapped file. Using these mechanisms, it offers useful tools to construct C++ objects, including STL-like containers, in shared memory and memory mapped files.

License

Distributed under the Boost Software License, Version 1.0.

Properties

  • C++03
  • Header-only.

Build Status

BranchDepsDocsTests
masterDepsDocumentationEnter the Matrix
developDepsDocumentationEnter the Matrix

Directories

NamePurpose
docdocumentation
exampleexamples
extraextra utilities
includeheaders
testunit tests

More information

  • Ask questions
  • Report bugs: Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
  • Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
  • Discussions about the library are held on the Boost developers mailing list. Be sure to read the discussion policy before posting and add the [interprocess] tag at the beginning of the subject line.