Files
MeanField_SERiF/docs/latex/discretization_2domain_2concepts_8hpp.tex
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

92 lines
7.7 KiB
TeX

\doxysection{src/include/serif/discretization/domain/concepts.hpp File Reference}
\hypertarget{discretization_2domain_2concepts_8hpp}{}\label{discretization_2domain_2concepts_8hpp}\index{src/include/serif/discretization/domain/concepts.hpp@{src/include/serif/discretization/domain/concepts.hpp}}
File containing concepts for the domain module. These concepts are used to constrain template parameters in the domain module.
{\ttfamily \#include $<$cstddef$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include $<$span$>$}\newline
{\ttfamily \#include $<$array$>$}\newline
{\ttfamily \#include $<$format$>$}\newline
{\ttfamily \#include $<$numeric$>$}\newline
{\ttfamily \#include "{}serif/discretization/domain/types.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/misc/std\+\_\+helper/cleaning.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/misc/std\+\_\+helper/variadic\+\_\+cleaning.\+hpp"{}}\newline
Include dependency graph for concepts.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{discretization_2domain_2concepts_8hpp__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{discretization_2domain_2concepts_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1_domain_set}{serif\+::discretization\+::domain\+::\+Domain\+Set$<$ Domain\+Ts $>$}}
\begin{DoxyCompactList}\small\item\em A \doxylink{structserif_1_1discretization_1_1domain_1_1_domain_set}{Domain\+Set} is a collection of domains. It is used to group multiple domains together for convenience. \end{DoxyCompactList}\item
class \mbox{\hyperlink{classserif_1_1discretization_1_1domain_1_1_domain_or_set}{serif\+::discretization\+::domain\+::\+Domain\+Or\+Set}}
\begin{DoxyCompactList}\small\item\em A \doxylink{classserif_1_1discretization_1_1domain_1_1_domain_or_set}{Domain\+Or\+Set} is a type that can represent either a single domain or a set of domains. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1_boundary_set}{serif\+::discretization\+::domain\+::\+Boundary\+Set$<$ Boundary\+Ts $>$}}
\begin{DoxyCompactList}\small\item\em A \doxylink{structserif_1_1discretization_1_1domain_1_1_boundary_set}{Boundary\+Set} is a collection of boundaries. It is used to group multiple boundaries together for convenience. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1discretization_1_1domain_1_1_domain_or_set_list}{serif\+::discretization\+::domain\+::\+Domain\+Or\+Set\+List$<$ Domain\+Ts $>$}}
\begin{DoxyCompactList}\small\item\em A list of \doxylink{classserif_1_1discretization_1_1domain_1_1_domain_or_set}{Domain\+Or\+Set} types. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structstd_1_1formatter_3_01serif_1_1discretization_1_1domain_1_1_domain_or_set_01_4}{std\+::formatter$<$ serif\+::discretization\+::domain\+::\+Domain\+Or\+Set $>$}}
\begin{DoxyCompactList}\small\item\em Specialization of std\+::formatter for Domain\+Or\+Set. This allows us to use std\+::format to format Domain\+Or\+Set objects. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization}{serif\+::discretization}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain}{serif\+::discretization\+::domain}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_domain}{serif\+::discretization\+::domain\+::\+Is\+Domain}}
\begin{DoxyCompactList}\small\item\em \texorpdfstring{$<$}{<} \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_boundary}{serif\+::discretization\+::domain\+::\+Is\+Boundary}}
\begin{DoxyCompactList}\small\item\em A Boundary is a surface in the mesh. It is a base class for all boundary types. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_domain_set}{serif\+::discretization\+::domain\+::\+Is\+Domain\+Set}}
\begin{DoxyCompactList}\small\item\em A concept to determine if a type is a Domain\+Set. A type is a Domain\+Set if it satisfies the is\+\_\+domain\+\_\+set\+\_\+v trait. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_domain_or_set}{serif\+::discretization\+::domain\+::\+Is\+Domain\+Or\+Set}}
\begin{DoxyCompactList}\small\item\em A concept to determine if a type is a Domain\+Or\+Set. A type is a Domain\+Or\+Set if it is either a Domain or a Domain\+Set. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_domain_is_identified_by}{serif\+::discretization\+::domain\+::\+Domain\+Is\+Identified\+By}}
\begin{DoxyCompactList}\small\item\em A concept to determine if a Domain type is identified by a Domain\+ID type. A Domain type is identified by a Domain\+ID type if the Domain\+ID\textquotesingle{}s domain\+\_\+type is the same as the Domain type. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_boundary_is_identified_by}{serif\+::discretization\+::domain\+::\+Boundary\+Is\+Identified\+By}}
\begin{DoxyCompactList}\small\item\em A concept to determine if a Boundary type is identified by a Boundary\+ID type. A Boundary type is identified by a Boundary\+ID type if the Boundary\+ID\textquotesingle{}s boundary\+\_\+type is the same as the Boundary type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename... Ts$>$ }\\consteval std\+::size\+\_\+t \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_a1b57d195e9d643b262222f5d50ed1dd0}{serif\+::discretization\+::domain\+::\+Count\+Variadic\+Arguments}} () noexcept
\begin{DoxyCompactList}\small\item\em \texorpdfstring{$<$}{<} \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename T$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_af79faa141025275717dc28e8b3244c31}{serif\+::discretization\+::domain\+::is\+\_\+domain\+\_\+set\+\_\+v}} = false
\begin{DoxyCompactList}\small\item\em A trait to determine if a type is a \doxylink{structserif_1_1discretization_1_1domain_1_1_domain_set}{Domain\+Set}. This is the default false specialization. \end{DoxyCompactList}\item
{\footnotesize template$<$Is\+Domain... Domain\+Ts$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_af8cecaf8fc81e98a8e5fb613c8eca8be}{serif\+::discretization\+::domain\+::is\+\_\+domain\+\_\+set\+\_\+v$<$ Domain\+Set$<$ Domain\+Ts... $>$ $>$}} = true
\begin{DoxyCompactList}\small\item\em A trait to determine if a type is a \doxylink{structserif_1_1discretization_1_1domain_1_1_domain_set}{Domain\+Set}. This is the true specialization for \doxylink{structserif_1_1discretization_1_1domain_1_1_domain_set}{Domain\+Set} types. \end{DoxyCompactList}\item
{\footnotesize template$<$class Child, class Parent$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1discretization_1_1domain_a5e9d22ad04a3b00122f90cb5ceea35e9}{serif\+::discretization\+::domain\+::\+AIs\+Base\+Class\+OfB}}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing concepts for the domain module. These concepts are used to constrain template parameters in the domain module.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}