\doxysection{src/include/serif/utils/dependencies/binding.hpp File Reference} \hypertarget{utils_2dependencies_2binding_8hpp}{}\label{utils_2dependencies_2binding_8hpp}\index{src/include/serif/utils/dependencies/binding.hpp@{src/include/serif/utils/dependencies/binding.hpp}} {\ttfamily \#include $<$array$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include "{}serif/utils/misc/traits/type\+\_\+uniqueness.\+hpp"{}}\newline Include dependency graph for binding.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=293pt]{utils_2dependencies_2binding_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]{utils_2dependencies_2binding_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_binding}{serif\+::utils\+::dependencies\+::\+Binding$<$ Key\+T, Target\+T $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_bindings}{serif\+::utils\+::dependencies\+::\+Bindings$<$ Binding\+Ts $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1detail_1_1_has_binding_3_01_bindings_3_01_binding_ts_8_8_8_01_4_00_01_key_t_01_4}{serif\+::utils\+::dependencies\+::detail\+::\+Has\+Binding$<$ Bindings$<$ Binding\+Ts... $>$, Key\+T $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1detail_1_1_binding_lookup_3_01_bindings_3_01_binding_ts_8_8_8_01_4_01_4}{serif\+::utils\+::dependencies\+::detail\+::\+Binding\+Lookup$<$ Bindings$<$ Binding\+Ts... $>$ $>$}} \begin{DoxyCompactList}\small\item\em Share one compile-\/time lookup structure across all keys in a binding collection. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1detail_1_1_bound_type}{serif\+::utils\+::dependencies\+::detail\+::\+Bound\+Type$<$ Bindings\+T, Key\+T $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_has_binding}{serif\+::utils\+::dependencies\+::\+Has\+Binding$<$ Bindings\+T, Key\+T $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_bound_type}{serif\+::utils\+::dependencies\+::\+Bound\+Type$<$ Bindings\+T, Key\+T $>$}} \end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils}{serif\+::utils}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies}{serif\+::utils\+::dependencies}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_1_1detail}{serif\+::utils\+::dependencies\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_binding}{serif\+::utils\+::dependencies\+::\+Is\+Binding}} \item concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_bindings}{serif\+::utils\+::dependencies\+::\+Is\+Bindings}} \item concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_bindings_with_binding}{serif\+::utils\+::dependencies\+::\+Bindings\+With\+Binding}} \end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename BindingsT, typename KeyT$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_adc0d56ab32ca6ea92c3732dde92fa6a1}{serif\+::utils\+::dependencies\+::bound\+\_\+type\+\_\+t}} = \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_bound_type}{Bound\+Type}}$<$BindingsT, KeyT$>$\+::target\+\_\+type \end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename... Types$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_1_1detail_a062687769c12f5aa5f143926f3185ee3}{serif\+::utils\+::dependencies\+::detail\+::valid\+\_\+binding\+\_\+types\+\_\+v}} \begin{DoxyCompactList}\small\item\em Validate each binding without an implicit constraint fold proportional to the collection size. \end{DoxyCompactList}\item {\footnotesize template$<$typename T$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_ab54a589695456ce4f7b3fb4e3bd97947}{serif\+::utils\+::dependencies\+::is\+\_\+bindings\+\_\+v}} = false \item {\footnotesize template$<$typename... Binding\+Ts$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a3a8a1a7fd56af08612f141f2bb50e0a1}{serif\+::utils\+::dependencies\+::is\+\_\+bindings\+\_\+v$<$ Bindings$<$ Binding\+Ts... $>$ $>$}} = \mbox{\hyperlink{namespaceserif_1_1utils_1_1misc_1_1traits_a8cb5b9ce5869ecf88101859ace70f92a}{misc\+::traits\+::all\+\_\+unique\+\_\+types\+\_\+v}}$<$typename Binding\+Ts\+::\+Key...$>$ \item {\footnotesize template$<$Is\+Bindings BindingsT, typename KeyT$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a1563a020c811fac185bcc81b95b1035a}{serif\+::utils\+::dependencies\+::has\+\_\+binding\+\_\+v}} = \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_has_binding}{Has\+Binding}}$<$BindingsT, KeyT$>$\+::value \end{DoxyCompactItemize}