# 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) 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 (~55 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 !!! success "Total time" ~200 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!