Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
109 lines
3.2 KiB
Groff
109 lines
3.2 KiB
Groff
.TH "src/include/serif/dimensions/quantities.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
src/include/serif/dimensions/quantities.hpp \- This file contains the code to associate numeric data to a dimension\&. We call this a Quantity and a QuantityValue\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
\fR#include <type_traits>\fP
|
|
.br
|
|
\fR#include <compare>\fP
|
|
.br
|
|
\fR#include <concepts>\fP
|
|
.br
|
|
\fR#include <tuple>\fP
|
|
.br
|
|
\fR#include 'serif/utils/misc/std_helper/cleaning\&.hpp'\fP
|
|
.br
|
|
\fR#include 'serif/utils/misc/concepts/numeric\&.hpp'\fP
|
|
.br
|
|
|
|
.SS "Classes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::PhysicalQuantity\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::ThermodynamicQuantity\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "class \fBserif::dimensions::QuantityValue< Quantity >\fP"
|
|
.br
|
|
.RI "This is the non derivative equivalent to \fBPartialDerivative\fP\&. This associates a dimension with a value and, if that value can be determined at compile time, can be decomposed to a transparent double through \&.\fBvalue()\fP "
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::IsQuantityValue< Candidate >\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::IsQuantityValue< QuantityValue< Quantity > >\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::QuantityOf< QuantityValue< Quantity > >\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::QuantityList< Quantities >\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "struct \fBserif::dimensions::QuantityAt< Index, QuantityList< Quantities\&.\&.\&. > >\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Namespaces"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "namespace \fBserif\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "namespace \fBserif::dimensions\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Concepts"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "concept \fBserif::dimensions::PhysicalQuantityType\fP"
|
|
.br
|
|
.RI "Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its derived from PhysicalQuantity\&. Note all ThermodynamicQuantities will also satisfy this concept\&. "
|
|
.ti -1c
|
|
.RI "concept \fBserif::dimensions::ThermodynamicQuantityType\fP"
|
|
.br
|
|
.RI "Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its derived from PhysicalQuantity (both enforced through checking \fBPhysicalQuantityType\fP) and then that is is also derived from ThermodynamicQuantity\&. Note not all physical quanties will satisfy this\&. "
|
|
.ti -1c
|
|
.RI "concept \fBserif::dimensions::QuantityValueType\fP"
|
|
.br
|
|
.RI "Turn those compile time structs into a concept that can be used to constrain a template parameter\&. "
|
|
.ti -1c
|
|
.RI "concept \fBserif::dimensions::ThermodynamicQuantityValueType\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Typedefs"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<QuantityValueType Value> using \fBserif::dimensions::QuantityOfT\fP = typename \fBQuantityOf\fP<\fBNeitherConstNorVolatileReference\fP<Value>>::Type"
|
|
.br
|
|
.ti -1c
|
|
.RI "template<class T> using \fBserif::dimensions::NeitherConstNorVolatile\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "template<class T> using \fBserif::dimensions::NeitherConstNorVolatileReference\fP"
|
|
.br
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
This file contains the code to associate numeric data to a dimension\&. We call this a Quantity and a QuantityValue\&.
|
|
|
|
|
|
.PP
|
|
\fBAuthor\fP
|
|
.RS 4
|
|
Emily M\&. Boudreaux
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|