---
title: "Tutorials"
weight: 2001
---

I've created a set of tutorials to help you get to know the library better.  
If there is an aspect of the library that you find difficult to use or understand then let me know and I'll try to put together some examples of how to use it, and even why you should use it.  

---

[Containers](./containers-tutorial)  
A quick introduction to containers.  

---

[observer](./observer-tutorial)  
A templated set of classes to allow easier implementation of the observer pattern.  

---

[visitor](./visitor-tutorial)  
A templated set of classes to allow easier implementation of the visitor pattern.  

---

[Messages](./message-tutorial)  
The messaging framework.  

---

[Generators](./generators-tutorial)  
Generators create parts of the ETL code based on user requirements.  

---

**Concurrent Queues**  
A set of concurrent queues, both Single Producer / Single Consumer (SPSC) and Muli Producer / Multi Consumer (MPMC)  

---

**callback_service**  
This code demonstrates using the callback service for five example ARM interrupts.  

---

**delegate_service**  
This code demonstrates using the delegate service for five example ARM interrupts.  

---

**shared_message**  
How to use shared messages with the ETL messaging framework.  

---

**Locked Queues**  
How the locked queues differ from each other.  

---

**etl::unique_ptr with etl::pool**  
Using an etl::unique_ptr with `etl::pool`  

---
