SpECTRE Documentation Coverage Report
Current view: top level - __w/spectre/spectre/docs/DevGuide - DevGuide.md Hit Total Coverage
Commit: d0fc80462417e83e5cddfa1b9901bb4a9b6af4d6 Lines: 0 1 0.0 %
Date: 2024-03-29 00:33:31
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : \cond NEVER
       2             : Distributed under the MIT License.
       3             : See LICENSE.txt for details.
       4             : \endcond
       5             : # Developer Guides {#dev_guide}
       6             : 
       7             : ### Charm++ Interface
       8             : - \subpage load_balancing_notes "Load Balancing Notes and Recommendations"
       9             : 
      10             : ### Continuous Integration
      11             : Explanations on our automated tests and deployments can be found here.
      12             : - \subpage dev_guide_automatic_versioning
      13             : 
      14             : ### CoordinateMap Guide
      15             : Methods for creating custom coordinate maps are discussed here.
      16             : - \subpage redistributing_gridpoints "Methods for redistributing gridpoints"
      17             : 
      18             : ### Developing and Improving Executables
      19             : - \subpage spectre_build_system "Build system" and how to add dependencies, unit
      20             :   tests, and executables.
      21             : - \subpage dev_guide_creating_executables "Executables and how to add them"
      22             : - \subpage tutorials_parallel - A series of tutorials demonstrating how to write
      23             :   a parallel executable, and explaining some of the metaprogramming that turns
      24             :   user-provided code into a SpECTRE parallel executable
      25             : - \subpage dev_guide_option_parsing "Option parsing" to get options from input
      26             :   files
      27             : - \subpage dev_guide_importing "Importing" data from files
      28             : - \subpage profiling "Profiling" SpECTRE with a variety of different tools
      29             : - \subpage spectre_writing_python_bindings "Writing Python Bindings" to use
      30             :   SpECTRE C++ classes and functions from within python.
      31             : - \subpage implementing_vectors "Implementing SpECTRE vectors" a quick how-to
      32             :   for making new generalizations of DataVectors
      33             : - \subpage compiler_and_linker_errors "How to parse linker and compiler errors"
      34             : - \subpage static_analysis_tools "Static analysis tools"
      35             : - \subpage build_profiling_and_optimization - Getting started with improving
      36             :   compilation time and memory use
      37             : - \subpage runtime_errors "Tips for debugging an executable"
      38             : 
      39             : ### Foundational Concepts in SpECTRE
      40             : Designed to give the reader an introduction to SpECTRE's most recurring concepts
      41             : and patterns.
      42             : - \subpage databox_foundations "Towards SpECTRE's DataBox"
      43             : - \subpage protocols "Protocols: metaprogramming interfaces"
      44             : - \subpage variables_foundations "Using the Variables class" to improve
      45             :   efficiency
      46             : 
      47             : ### General SpECTRE Terminology
      48             : Terms with SpECTRE-specific meanings are defined here.
      49             : - \subpage domain_concepts "Domain Concepts" used throughout the code are
      50             :   defined here for reference.
      51             : 
      52             : ### Having your Contributions Merged into SpECTRE
      53             : - \subpage writing_good_dox "Writing good documentation" is key for long term
      54             :   maintainability of the project.
      55             : - \subpage writing_unit_tests "Writing Unit Tests" to catch bugs and to make
      56             :   sure future changes don't cause your code to regress.
      57             : - \subpage github_actions_guide "GitHub Actions" is used to test every pull
      58             :   request.
      59             : - \subpage code_review_guide "Code review guidelines." All code merged into
      60             :   develop must follow these requirements.
      61             : 
      62             : ### Performance and Optimization
      63             : - \subpage general_perf_guide "General performance guidelines"
      64             : 
      65             : ### Technical Documentation for Fluent Developers
      66             : Assumes a thorough familiarity and fluency in SpECTRE's usage of TMP.
      67             : - \subpage DataBoxGroup "DataBox"
      68             : - \subpage observers_infrastructure_dev_guide "Observers infrastructure"
      69             : - \subpage dev_guide_parallelization_foundations - Parallelization
      70             :   infrastructure components and usage
      71             : 
      72             : ### Template Metaprogramming (TMP)
      73             : Explanations for TMP concepts and patterns known to the greater C++ community
      74             : can be found here.
      75             : - \subpage sfinae "SFINAE"
      76             : - \subpage brigand "The Brigand TMP library"

Generated by: LCOV version 1.14