Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
| ▼Nstd | |
| Chash< symmetri::Token > | |
| ▼Nsymmetri | |
| CCallback | Callback is a wrapper around any type that you to tie to a transition. Typically this is an invokable object, such as a function, that executes some side-effects, but it can by anything if you implement a fire function for it. The output can be used to communicate success or failure to the petri-net executor. You can create custom behavior by defining a tailored "Token fire(const A&)" for your class A |
| CCancel | |
| CCanceled | |
| CDeadlocked | |
| CDirectMutation | A DirectMutation is a synchronous no-operation function. It simply mutates the mutation on the petri net executor loop. This way the deferring to the threadpool and back to the petri net loop is avoided |
| CEvent | This struct defines a subset of data that we associate with the result of firing a transition |
| CFailed | |
| Cidentity | |
| CPaused | |
| ▼CPetri | Petri is a data structure that encodes the Petri net and holds pointers to the thread-pool and the reducer-queue. It is optimized for calculating the active transition set and dispatching a Callback to the TaskSystem |
| CPTNet | |
| CPetriNet | PetriNet exposes the possible constructors to create PetriNets. It also allows the user to register a Callback to a transition, or to get a handle for input-transitions |
| CScheduled | |
| CSmallEvent | Minimal Event representation |
| CStarted | |
| CSuccess | |
| CTaskQueue | TaskQueue is an inheritance based alias for a lock-free queue |
| CTaskSystem | Create a TaskSystem object. The only way to create a TaskSystem is through this factory. We enforce the use of a smart pointer to make sure the pool stays alive until both the original scope of the pool and net is exited |
| CToken | Tokens are elements that can reside in places. Tokens can have a color which makes them distinguishable from other tokens. Tokens that have the same color are not distinguishable. Users can create their own token-colors by either using the CREATE_CUSTOM_TOKEN-macro (compile-time) or by calling Token's public constructor which takes a token-name |