Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
endurodave committed Dec 8, 2024
1 parent 7a33286 commit a55ee40
Showing 1 changed file with 39 additions and 1 deletion.
40 changes: 39 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,35 @@ Asynchronous function calls support both non-blocking and blocking modes with a

Originally published on CodeProject at: <a href="https://www.codeproject.com/Articles/5277036/Asynchronous-Multicast-Delegates-in-Modern-Cpluspl">Asynchronous Multicast Delegates in Modern C++</a>

# Delegate Classes

Primary delegate library classes.

```cpp
// Delegates
DelegateBase
Delegate<>
DelegateFree<>
DelegateFreeAsync<>
DelegateFreeAsyncWait<>
DelegateMember<>
DelegateMemberAsync<>
DelegateMemberAsyncWait<>
DelegateMemberSp<>
DelegateMemberSpAsync<>
DelegateMemberSpAsyncWait<>

// Delegate Containers
SinglecastDelegate<>
MulticastDelegate<>
MulticastDelegateSafe<>

// Helper Classes
IDelegateInvoker
DelegateMsg
DeleateThread
```

# Quick Start

A simple publish/subscribe asynchronous delegate example.
Expand Down Expand Up @@ -85,7 +114,7 @@ class AlarmSub

<p>This is a simple example. Many other usage patterns exist including asynchronous API's, blocking delegates with a timeout, and more.</p>

## All Delegate Types
## All Delegate Types Example

A example delegate container inserting and removing all delegate types.

Expand Down Expand Up @@ -257,6 +286,15 @@ After executed, build the software from within the <code>Build</code> directory
# Related Repositories
## Source Code Used Within Delegates
Supporting source code within the delegate library.
* <a href="https://github.com/endurodave/StdWorkerThread">C++ std::thread Event Loop</a> - C++ std::thread Event Loop with Message Queue and Timer.
* <a href="https://github.com/endurodave/stl_allocator">Fixed Block std::allocator</a> - STL std::allocator Fixed Block Memory Allocator.
## Projects Using Delegates
The repositories below utilize the delegate library in different multithreaded applications.
* <a href="https://github.com/endurodave/AsyncStateMachine">Asynchronous State Machine Design in C++</a> - an asynchronous C++ state machine implemented using an asynchronous delegate library.
Expand Down

0 comments on commit a55ee40

Please sign in to comment.