\hypertarget{build_8h}{}\doxysection{kblib/build.h File Reference} \label{build_8h}\index{kblib/build.h@{kblib/build.h}} Provides by-\/value algorithms which produce containers. {\ttfamily \#include \char`\"{}tdecl.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}algorithm.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}fakestd.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}iterators.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}traits.\+h\char`\"{}}\newline {\ttfamily \#include $<$algorithm$>$}\newline {\ttfamily \#include $<$iterator$>$}\newline {\ttfamily \#include $<$numeric$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline Include dependency graph for build.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{build_8h__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]{build_8h__dep__incl} \end{center} \end{figure} \doxysubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structkblib_1_1detail_1_1buildiota__impl_3_01_container_00_01true_01_4}{kblib\+::detail\+::buildiota\+\_\+impl$<$ Container, true $>$}} \item struct \mbox{\hyperlink{structkblib_1_1detail_1_1buildiota__impl_3_01_array_00_01false_01_4}{kblib\+::detail\+::buildiota\+\_\+impl$<$ Array, false $>$}} \end{DoxyCompactItemize} \doxysubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespacekblib}{kblib}} \begin{DoxyCompactList}\small\item\em The main namespace in which all entities from kblib are defined. \end{DoxyCompactList}\item namespace \mbox{\hyperlink{namespacekblib_1_1detail}{kblib\+::detail}} \begin{DoxyCompactList}\small\item\em The namespace used for implementation details within kblib. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Container , typename Input\+It , typename Unary\+Function $>$ }\\auto \mbox{\hyperlink{namespacekblib_a392972471eeedefaafc0f5154c3a4a32}{kblib\+::build}} (Input\+It first, Input\+It last, Unary\+Function f, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \begin{DoxyCompactList}\small\item\em Constructs a container by applying a Unary\+Function to every element of an input range. \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Input\+It , typename Input\+It2 , typename Binary\+Function $>$ }\\auto \mbox{\hyperlink{namespacekblib_ac0df0a7581f417956e3c29ec29f8a0c9}{kblib\+::build}} (Input\+It first, Input\+It last, Input\+It2 first2, Binary\+Function f, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \begin{DoxyCompactList}\small\item\em Constructs a container by applying a Binary\+Function to every pair of elements in the input ranges. \end{DoxyCompactList}\item {\footnotesize template$<$typename Array , typename Input\+It , typename Unary\+Function , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Array $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_a33d7779af12cb836b7a07e762c4251ee}{kblib\+::build}} (Input\+It first, Input\+It last, Unary\+Function f) -\/$>$ Array \begin{DoxyCompactList}\small\item\em Constructs an array-\/like container by applying a Unary\+Function to every element of an input range. \end{DoxyCompactList}\item {\footnotesize template$<$typename Array , typename Input\+It , typename Input\+It2 , typename Binary\+Function , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Array $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_add6c009a3c106ba1528c168dee122c77}{kblib\+::build}} (Input\+It first, Input\+It last, Input\+It2 first2, Binary\+Function f) -\/$>$ Array \begin{DoxyCompactList}\small\item\em Constructs an array-\/like container by applying a Binary\+Function to every pair of elements in the input ranges. \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Functor $>$ }\\auto \mbox{\hyperlink{namespacekblib_afcdcafb387d1769318df68f2b5598d96}{kblib\+::build}} (Functor f, size\+\_\+t size, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \begin{DoxyCompactList}\small\item\em Constructs a container with elements initialized by repeatedly calling a generating function. \end{DoxyCompactList}\item {\footnotesize template$<$typename Array , typename Functor , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Array $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_af103b44450c172da5a091d738b7b1e53}{kblib\+::build}} (Functor f, size\+\_\+t size=std\+::tuple\+\_\+size$<$ Array $>$\+::value) -\/$>$ Array \begin{DoxyCompactList}\small\item\em Constructs an array-\/like container with elements initialized by repeatedly calling a generating function. \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Input\+It , typename Unary\+Function $>$ }\\auto \mbox{\hyperlink{namespacekblib_a7ac67153b0398f6cb4a57690d3d3bad0}{kblib\+::build\+\_\+dy}} (Input\+It first, Input\+It last, Unary\+Function f) -\/$>$ Container \begin{DoxyCompactList}\small\item\em Constructs a container by applying a Unary\+Function to every element of an input range. Exactly like {\ttfamily build}, but for resizable non-\/\+Allocator\+Aware Containers (which are hard to detect automatically). \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Input\+It , typename Input\+It2 , typename Binary\+Function $>$ }\\auto \mbox{\hyperlink{namespacekblib_ae4de9abf1f3ed56dd637e0aeeeb555a3}{kblib\+::build\+\_\+dy}} (Input\+It first, Input\+It last, Input\+It2 first2, Binary\+Function f) -\/$>$ Container \begin{DoxyCompactList}\small\item\em Constructs a container by applying a Binary\+Function to every pair of elements in the input ranges. Exactly like {\ttfamily build}, but for resizable non-\/\+Allocator\+Aware Containers (which are hard to detect automatically). \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Functor $>$ }\\auto \mbox{\hyperlink{namespacekblib_a1958e5a6146a77e469fe8e892a95d550}{kblib\+::build\+\_\+dy}} (Functor f, size\+\_\+t size) -\/$>$ Container \begin{DoxyCompactList}\small\item\em Constructs a container with elements initialized by repeatedly calling a generating function. Exactly like {\ttfamily build}, but for resizable non-\/\+Allocator\+Aware Containers (which are hard to detect automatically). \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Range , typename Unary\+Function , enable\+\_\+if\+\_\+t$<$ is\+\_\+resizable\+\_\+v$<$ Container $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_ae538bfb0085fabd1601825a87bb792b3}{kblib\+::build\+\_\+dy}} (Range \&\&r, Unary\+Function f) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename... Args$>$ }\\constexpr auto \mbox{\hyperlink{namespacekblib_a2024ab838aaf4e23deb9bbc98390e887}{kblib\+::buildiota}} (Args \&\&... args) -\/$>$ auto \begin{DoxyCompactList}\small\item\em Builds a container of increasing values. \end{DoxyCompactList}\item {\footnotesize template$<$typename Container , typename Input\+It $>$ }\\auto \mbox{\hyperlink{namespacekblib_ae140416fd22ee702f769b7fcd5b62d66}{kblib\+::build\+\_\+copy}} (Input\+It first, Input\+It last, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Range , enable\+\_\+if\+\_\+t$<$ is\+\_\+resizable\+\_\+v$<$ Container $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_ab5819760aeb8cb631c6b11d23c1f7d87}{kblib\+::build\+\_\+copy}} (Range \&\&r) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Range $>$ }\\auto \mbox{\hyperlink{namespacekblib_ac1661b5bdfb17ff4ba473af6d88c61aa}{kblib\+::build\+\_\+copy}} (Range \&\&r, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Input\+It , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Container $>$, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespacekblib_afdf68a6165cea2d31b0e940fd4de7d6a}{kblib\+::build\+\_\+copy}} (Input\+It first, Input\+It last) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Range , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Container $>$, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespacekblib_ac64ffa3114496642a4728082bac29a4e}{kblib\+::build\+\_\+copy}} (Range \&\&r) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Input\+It , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Container $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_a22c37be2f65bb8810e0add151d6def8b}{kblib\+::build\+\_\+copy}} (Input\+It first, Input\+It last, std\+::size\+\_\+t size) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Range , enable\+\_\+if\+\_\+t$<$ not is\+\_\+resizable\+\_\+v$<$ Container $>$, int $>$ = 0$>$ }\\auto \mbox{\hyperlink{namespacekblib_adc410174377c7de2738ce5036fe31b99}{kblib\+::build\+\_\+copy}} (Range \&\&r, std\+::size\+\_\+t size) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Input\+It , typename Predicate $>$ }\\auto \mbox{\hyperlink{namespacekblib_a8b4bd970deaa3f4685bb38e8ee2a9316}{kblib\+::build\+\_\+copy\+\_\+if}} (Input\+It first, Input\+It last, Predicate f, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Input\+It , typename Size $>$ }\\auto \mbox{\hyperlink{namespacekblib_a16745b0c40e85addaa80021ad277a86d}{kblib\+::build\+\_\+copy\+\_\+n}} (Input\+It first, Size count, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \item {\footnotesize template$<$typename Container , typename Input\+It , typename Size , typename Predicate $>$ }\\auto \mbox{\hyperlink{namespacekblib_a3e9f8222a9efb7046888b2d45550d4a4}{kblib\+::build\+\_\+copy\+\_\+n\+\_\+if}} (Input\+It first, Size count, Predicate f, typename Container\+::allocator\+\_\+type allocator=typename Container\+::allocator\+\_\+type\{\}) -\/$>$ Container \end{DoxyCompactItemize} \doxysubsection{Detailed Description} Provides by-\/value algorithms which produce containers. \begin{DoxyAuthor}{Author} killerbee \end{DoxyAuthor} \begin{DoxyDate}{Date} 2019-\/2021 \end{DoxyDate} \begin{DoxyCopyright}{Copyright} GNU General Public Licence v3.\+0 \end{DoxyCopyright} Definition in file \mbox{\hyperlink{build_8h_source}{build.\+h}}.