Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/copperspice/cs_signal

Thread aware Signal/Slot library
https://github.com/copperspice/cs_signal

copperspice cpp signals slots

Last synced: 7 days ago
JSON representation

Thread aware Signal/Slot library

Awesome Lists containing this project

README

        

## CsSignal

### Introduction

CsSignal is a library for thread aware Signal/Slot delivery. This library does not depend upon CopperSpice or any
other libraries.

One of the major benefits of CsSignal is how the library delivers signals in a multithreaded application. Signals can
be delivered using a queued connection or a blocking queued connection.

In the CsSignal library signals and slots are both methods whereas in many other signal/slot libraries each signal is
a separate object.

### System Requirements

To use CsSignal you will need a C++17 compiler and a C++17 standard library.

Uses the CMake build system for building and running the unit test suite. The library has been tested with clang
sanitizer and a major code review.

### Running the Catch Tests

To enable unit testing set the BUILD_TESTS in the root CMakeLists.txt file to ON. You can also configure the
setting by passing -DBUILD_TESTS=ON on the CMake command line.

If you do not have the Catch2 library installed the files can be download from our website. This is a header
only library.

https://download.copperspice.com/toolchain/catch/

Either add the path where the Catch2 files are located or pass the path using -DCMAKE_PREFIX_PATH on the CMake
command line. The following shows how to pass both arguments.

export CMAKE_FLAGS="-DBUILD_TESTS=on -DCMAKE_PREFIX_PATH=C:/Catch2/lib/cmake/Catch2"

Build this library and then run CTest in the root of your build directory.

### Documentation

Class level documentation for CsSignal is available on the CopperSpice website:

https://www.copperspice.com/docs/cs_signal/index.html

### Presentations

Our YouTube channel contains over 65 videos about C++, programming fundamentals, Unicode/Strings, multithreading,
graphics, CopperSpice, DoxyPress, and other software development topics.

https://www.youtube.com/copperspice
Links to additional videos can be found on our website.

https://www.copperspice.com/presentations.html

### Authors / Contributors

* **Ansel Sermersheim**
* **Barbara Geller**

### License

This library is released under the BSD 2-clause license. For more information refer to the LICENSE file provided with
this project.

### References

* Website: https://www.copperspice.com
* Twitter: https://twitter.com/copperspice_cpp
* Email: [email protected]

* Github: https://github.com/copperspice

* Forum: https://forum.copperspice.com
* Journal: https://journal.copperspice.com