diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 9b663608..a76a88ea 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -65,6 +65,7 @@ add_custom_command(OUTPUT "${SPHINX_INDEX_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/_static/css/custom.css" "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md" "${CMAKE_CURRENT_SOURCE_DIR}/design.rst" + "${CMAKE_CURRENT_SOURCE_DIR}/design/directories.rst" "${CMAKE_CURRENT_SOURCE_DIR}/design/quantity.rst" "${CMAKE_CURRENT_SOURCE_DIR}/examples.rst" "${CMAKE_CURRENT_SOURCE_DIR}/examples/hello_units.rst" diff --git a/docs/design.rst b/docs/design.rst index 56eaedd3..0663fb79 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -10,6 +10,7 @@ Design .. toctree:: :maxdepth: 2 + design/directories design/quantity The Downcasting Facility diff --git a/docs/design/directories.rst b/docs/design/directories.rst new file mode 100644 index 00000000..5cc7131c --- /dev/null +++ b/docs/design/directories.rst @@ -0,0 +1,48 @@ +.. namespace:: units + +Library Directories Structure +============================= + +.. code-block:: text + + units + ├── bits + │ └── external + ├── data + └── physical + ├── cgs + ├── iau + ├── imperial + ├── international + ├── natural + ├── si + ├── typographic + └── us + +- *./units* + + - The main directory of the library. + - Contains headers files that define a public interface of the library framework + +- *./units/bits* + + - Contains header files with implementation details for the library. Interface of + the tools provided here should not be standardized. + +- *./units/bits/external* + + - Contains header files of general purpose utilities that are not necessary + **mp-units** library specific. They are either implementation details of the + library or should be (or already are) the subject of separate standardization + proposals not related to a Physical Units library proposal. + +- *./units/physical* + + - Contains the definition of physical units dimensions + - Its subfolders provide the definitions of various + :term:`systems of units ` with :term:`SI` being the most popular + one. + +- *./units/data* + + - Provides data information dimensions (i.e. `data::bitrate`).