-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Alexy Pellegrini edited this page Apr 3, 2022
·
29 revisions
Welcome on Not Enough Standards' Wiki!
Here, you will find the documentation of the library, and also some examples.
The Wiki is still a work in progress, and there are probably a lot of grammatical errors and typos.
The documentation is organized by file. Each file of the library is a complete set of features. The library is currently composed of the following files:
Header | Features | Standard (minimum) |
---|---|---|
shared_library.hpp |
Provide a simple interface for shared library loading. i.e. shared objects (.so) and dynamic-link libraries (.dll). | C++17 |
process.hpp |
Provide an interface for creating processes and modify or get information about the current process. Defines more features if pipe.hpp is available. |
C++17 |
semaphore.hpp |
Provide an interface for semaphores and timed semaphores management. A semaphore is a synchronization primitive that use a resource counter. When trying to acquire a resource, the calling thread is blocked until a resource is available. | C++17 |
pipe.hpp |
Provide standard streambufs and streams for pipe management. Support both anonymous and named pipes (for inter-process communication). A pipe is a data stream between a reader and a writer. For example, the standard output is a pipe where the reader is, in most cases, a display and the writer is the program. | C++17 |
shared_memory.hpp |
Provide an interface for shared memory creation and mapping. Shared memory is a segment of memory that can be shared among multiple processes, using a literal identifier. | C++17 |
named_mutex.hpp |
Provide an interface for cross-process mutexes management. It is similar to std::mutex except that it can be shared between multiple processes using its name. It is useful to synchronize shared memory access. |
C++17 |
named_semaphore.hpp |
Provide an interface for named semaphore and timed named semaphore management. As named mutexes, a named semaphore is designed to be shared between multiple processes. | C++17 |
thread_pool.hpp |
Provides a thread pool implementation, plus task lists to manage complex batches with internal and external synchronisation functionalities. | C++20 |