Files
mp-units/docs/tutorials/index.md
T
2026-05-13 19:13:27 +02:00

85 lines
3.6 KiB
Markdown

# Tutorials
Welcome to **mp-units** tutorials! These step-by-step lessons will teach you
the library from scratch.
## What are Tutorials?
Tutorials are **learning-oriented** lessons that guide you through using
**mp-units** for the first time.
Each tutorial:
- ✅ Assumes no prior knowledge of the library
- ✅ Teaches by doing with interactive examples
- ✅ Builds your confidence progressively
- ✅ Provides immediate hands-on experience
**Prerequisites**: Basic C++ knowledge and a good mood! 😊
## Learning Path
### 1. Quick Start (~30 minutes)
<!-- markdownlint-disable MD013 -->
Get up and running with the basics:
- [Your First Quantities](quick_start/first_quantities.md) (~10 min) - Create quantities and see them in action
- [Simple Math](quick_start/simple_math.md) (~10 min) - Perform calculations with quantities
- [Building a Calculator](quick_start/building_calculator.md) (~10 min) - Put it together in a real program
### 2. Working with Units (~50 minutes)
Learn to convert and work with different unit systems:
- [Unit Conversions](working_with_units/unit_conversions.md) (~15 min) - Convert between compatible units
- [Safe and Unsafe Conversions](working_with_units/safe_unsafe_conversions.md) (~15 min) - Handle truncation and forcing conversions
- [Extracting Numeric Values](working_with_units/extracting_numeric_values.md) (~20 min) - Get numerical values safely
### 3. Type Safety (~65 minutes)
Experience compile-time safety in action:
- [Compile-Time Protection](type_safety/compile_time_protection.md) (~15 min) - See the compiler catch errors
- [Automatic Dimensional Analysis](type_safety/dimensional_analysis.md) (~15 min) - Automatic unit calculations
- [Quantity Specifications](type_safety/quantity_specifications.md) (~20 min) - Quantity hierarchies and type-safe interfaces
- [Generic Interfaces](type_safety/generic_interfaces.md) (~15 min) - Flexible functions with QuantityOf
### 4. Affine Space (~90 minutes)
Understand points vs quantities:
- [Points and Quantities](affine_space/points_and_quantities.md) (~15 min) - The difference and why it matters
- [Point Origins](affine_space/point_origins.md) (~15 min) - Working with absolute positions
- [Temperature Handling](affine_space/temperature_handling.md) (~10 min) - Absolute vs relative temperatures
- [Temperature Applications](affine_space/temperature_applications.md) (~15 min) - Advanced temperature operations
- [Bounded Quantity Points](affine_space/bounded_quantity_points.md) (~15 min) - Attaching domain constraints to origins
- [Custom Contract Handlers](affine_space/custom_contract_handlers.md) (~20 min) - Exception handling for production systems
- [Frame Projections](affine_space/frame_projections.md) (~20 min) - Converting between independent reference frames
<!-- markdownlint-enable MD013 -->
!!! success "Total time"
~255 minutes to complete all tutorials.
## What's Next?
After completing the tutorials:
- **Study**: Read the [User's Guide](../users_guide/index.md) for explanation-oriented
understanding of concepts
- **Practice**: Try [Workshops](../workshops/index.md) with hands-on exercises
- **Apply**: Browse [How-to Guides](../how_to_guides/index.md) for task-oriented
solutions to specific problems
- **Explore**: Check [Examples](../examples/index.md) for complete applications
- **Lookup**: Use the [Reference](../reference/index.md) for information-oriented
technical details
## Getting Help
- Check the [FAQ](../getting_started/faq.md) for common questions
- Visit the [GitHub repository](https://github.com/mpusz/mp-units) to report issues
- Join discussions in [GitHub Discussions](https://github.com/mpusz/mp-units/discussions)
Let's begin!