mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
* Add docs and tutorial for etl::intrusive_avl_tree Documents the intrusive AVL tree added in PR #1425: a full API reference page under Containers/Trees, and a tutorial demonstrating ordered access to intrusively-linked objects with unpredictable lifetimes, including move support and destructor-driven automatic removal from the tree. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Add complexity shortcode and document its usage Introduces a {{< complexity >}} Hugo shortcode (with light/dark styling for constant/logarithmic/linear/linearithmic/polynomial/exponential classes) for rendering Big-O complexity inline, applies it throughout the intrusive_avl_tree API reference in place of raw "O(...)" text, and documents the Description/Complexity structure and supported classes in DOCUMENTATION.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Fix issues found by @CodeRabbit * Put complexity notes on their own lines in intrusive_avl_tree docs Move the complexity shortcode from the inline "**Complexity:**" label to its own line under a "**Complexity**" label. Notes that give several alternatives (e.g. amortized vs. worst-case) now show each one on a separate line. Update the guideline in DOCUMENTATION.md to match. * Update complexity examples in DOCUMENTATION.md Add the hard line break after the "**Complexity**" label in the example, and rewrite the list of supported complexity classes in the new two-line format, including an example with several alternatives. * Add logarithmic complexity example to DOCUMENTATION.md --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
70 lines
1.5 KiB
Markdown
70 lines
1.5 KiB
Markdown
---
|
|
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.
|
|
|
|
---
|
|
|
|
[Intrusive AVL Tree](./intrusive-avl-tree-tutorial)
|
|
Ordering objects that already exist, without a second container.
|
|
|
|
---
|
|
|
|
[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`
|
|
|
|
---
|