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.
Distributed under the Boost Software License, Version 1.0.
- C++03
- Header-only.
| Branch | Deps | Docs | Tests |
|---|---|---|---|
master |
|||
develop |
| Name | Purpose |
|---|---|
doc |
documentation |
example |
examples |
extra |
extra utilities |
include |
headers |
test |
unit tests |
- 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.