\documentclass[twoside]{book}

% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{calc}
\usepackage{doxygen}
\usepackage[export]{adjustbox} % also loads graphicx
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage[table]{xcolor}

% Font selection
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{amssymb}
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}

% Page & text layout
\usepackage{geometry}
\geometry{%
  a4paper,%
  top=2.5cm,%
  bottom=2.5cm,%
  left=2.5cm,%
  right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\setlength{\parskip}{3ex plus 2ex minus 2ex}
\makeatletter
\renewcommand{\paragraph}{%
  \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@parafont%
  }%
}
\renewcommand{\subparagraph}{%
  \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@subparafont%
  }%
}
\makeatother

% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
\fancyhead[CE]{\fancyplain{}{}}
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
\fancyhead[CO]{\fancyplain{}{}}
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
\fancyfoot[LE]{\fancyplain{}{}}
\fancyfoot[CE]{\fancyplain{}{}}
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[CO]{\fancyplain{}{}}
\fancyfoot[RO]{\fancyplain{}{}}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\chaptermark}[1]{%
  \markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
  \markright{\thesection\ #1}%
}

% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex

% Hyperlinks (required, but should be loaded last)
\usepackage{ifpdf}
\ifpdf
  \usepackage[pdftex,pagebackref=true]{hyperref}
\else
  \usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\hypersetup{%
  colorlinks=true,%
  linkcolor=blue,%
  citecolor=blue,%
  unicode%
}

% Custom commands
\newcommand{\clearemptydoublepage}{%
  \newpage{\pagestyle{empty}\cleardoublepage}%
}

\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}

%===== C O N T E N T S =====

\begin{document}

% Titlepage & ToC
\hypersetup{pageanchor=false,
             bookmarksnumbered=true,
             pdfencoding=unicode
            }
\pagenumbering{alph}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large u\+TL }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.14}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}

%--- Begin generated contents ---
\chapter{R\+E\+A\+D\+ME}
\label{md__r_e_a_d_m_e}
\Hypertarget{md__r_e_a_d_m_e}
\input{md__r_e_a_d_m_e}
\chapter{Module Index}
\input{modules}
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Module Documentation}
\input{group__concepts}
\include{group__iterators}
\include{group__crtp}
\include{group__version}
\include{group__detection}
\include{group__integral}
\include{group__invoke}
\include{group__logic}
\include{group__type}
\include{group__sfinae}
\include{group__typelist}
\chapter{Namespace Documentation}
\input{namespaceproto2}
\input{namespacetest__1w}
\input{namespacetest__concepts}
\input{namespacetest__i2c}
\input{namespacetest__meta}
\input{namespacetest__ostream__dev}
\input{namespacetest__spi}
\input{namespacetesting}
\input{namespacetesting_1_1internal}
\input{namespacetesting_1_1internal2}
\input{namespacetesting_1_1internal_1_1edit__distance}
\input{namespacetesting_1_1internal_1_1posix}
\input{namespacetesting__internal}
\input{namespace_tmeta_basic}
\input{namespace_tmeta_detection}
\input{namespace_tmeta_typelist}
\input{namespaceutl}
\input{namespaceutl_1_1__1wire__i__det}
\input{namespaceutl_1_1common__impl}
\input{namespaceutl_1_1detail}
\input{namespaceutl_1_1details}
\input{namespaceutl_1_1i2c__i__details}
\input{namespaceutl_1_1idx__dev__details}
\input{namespaceutl_1_1idxdev__it__details}
\input{namespaceutl_1_1in__dev__details}
\input{namespaceutl_1_1inbuf__dev__details}
\input{namespaceutl_1_1indev__it__details}
\input{namespaceutl_1_1meta}
\input{namespaceutl_1_1meta_1_1apply__impl}
\input{namespaceutl_1_1meta_1_1at__impl}
\input{namespaceutl_1_1meta_1_1back__impl}
\input{namespaceutl_1_1meta_1_1cat__impl}
\input{namespaceutl_1_1meta_1_1count__if__impl}
\input{namespaceutl_1_1meta_1_1detail}
\input{namespaceutl_1_1meta_1_1filter__impl}
\input{namespaceutl_1_1meta_1_1find__if__impl}
\input{namespaceutl_1_1meta_1_1fold__impl}
\input{namespaceutl_1_1meta_1_1front__impl}
\input{namespaceutl_1_1meta_1_1pop__back__impl}
\input{namespaceutl_1_1meta_1_1pop__front__impl}
\input{namespaceutl_1_1meta_1_1replace__if__impl}
\input{namespaceutl_1_1meta_1_1rev__fold__impl}
\input{namespaceutl_1_1meta_1_1reverse__impl}
\input{namespaceutl_1_1meta_1_1seek__if__impl}
\input{namespaceutl_1_1meta_1_1transform__impl}
\input{namespaceutl_1_1meta_1_1transform__lazy__impl}
\input{namespaceutl_1_1out__dev__details}
\input{namespaceutl_1_1outdev__it__details}
\input{namespaceutl_1_1spi}
\input{namespaceutl_1_1spi__i__details}
\chapter{Class Documentation}
\input{classutl_1_1__1wire__i}
\input{classutl_1_1__1wire__i_3_01virtual__tag_01_4}
\input{classutl_1_1__1wire__id__t}
\input{classutl_1_1__1wire__uart__i}
\input{classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4}
\input{structutl_1_1common__impl_1_1____common__ref__}
\input{structutl_1_1common__impl_1_1____common__ref___3_01_t_01_6_6_00_01_u_01_6_6_00_01meta_1_1void__tc4e71c227f251cadf0e0fb7b1ba6f1e9}
\input{structutl_1_1common__impl_1_1____common__ref___3_01_t_01_6_6_00_01_u_01_6_00_01meta_1_1void__t_3972a8d6e6799b6ee6537c969cdced343}
\input{structutl_1_1common__impl_1_1____common__ref___3_01_t_01_6_00_01_u_01_6_6_00_01meta_1_1void__t_329fba5aeac3b93aa9cfa5aa7e282e196}
\input{structutl_1_1common__impl_1_1____common__ref___3_01_t_01_6_00_01_u_01_6_00_01meta_1_1void__t_3_05e5aa384829bb34312a7b8ee4ecaa00f}
\input{structutl_1_1common__impl_1_1____common__reference}
\input{structutl_1_1common__impl_1_1____common__reference2}
\input{structutl_1_1common__impl_1_1____common__reference2_3_01_t_00_01_u_00_01meta_1_1void__t_3_01____785d0aa2f8a62416e19573fcbdd83836}
\input{structutl_1_1common__impl_1_1____common__reference3}
\input{structutl_1_1common__impl_1_1____common__reference3_3_01_t_00_01_u_00_01meta_1_1void__t_3_01____015b01ed12d2d90ee57fbf756ab847e9}
\input{structutl_1_1common__impl_1_1____common__reference_3_01_t_00_01_u_00_01meta_1_1when_3_01std_1_1i23b95b4b3a65ce598dbcc7f52e9dab2c}
\input{structutl_1_1common__impl_1_1____copy__cv__}
\input{structutl_1_1common__impl_1_1____copy__cv___3_01const_01_from_01_4}
\input{structutl_1_1common__impl_1_1____copy__cv___3_01const_01volatile_01_from_01_4}
\input{structutl_1_1common__impl_1_1____copy__cv___3_01volatile_01_from_01_4}
\input{structutl_1_1common__impl_1_1____xref}
\input{structutl_1_1common__impl_1_1____xref_3_01const_01_t_01_4}
\input{structutl_1_1common__impl_1_1____xref_3_01const_01volatile_01_t_01_4}
\input{structutl_1_1common__impl_1_1____xref_3_01_t_01_6_01_4}
\input{structutl_1_1common__impl_1_1____xref_3_01_t_01_6_6_01_4}
\input{structutl_1_1common__impl_1_1____xref_3_01volatile_01_t_01_4}
\input{structutl_1_1meta_1_1at__impl_1_1__add__pointer}
\input{structutl_1_1meta_1_1detail_1_1__and__}
\input{structutl_1_1meta_1_1detail_1_1__and___3_01___t1_01_4}
\input{structutl_1_1meta_1_1detail_1_1__and___3_01___t1_00_01___t2_01_4}
\input{structutl_1_1meta_1_1detail_1_1__and___3_01___t1_00_01___t2_00_01___t3_00_01___tn_8_8_8_01_4}
\input{structutl_1_1meta_1_1detail_1_1__and___3_4}
\input{structutl_1_1meta_1_1detail_1_1__or__}
\input{structutl_1_1meta_1_1detail_1_1__or___3_01___t1_01_4}
\input{structutl_1_1meta_1_1detail_1_1__or___3_01___t1_00_01___t2_01_4}
\input{structutl_1_1meta_1_1detail_1_1__or___3_01___t1_00_01___t2_00_01___t3_00_01___tn_8_8_8_01_4}
\input{structutl_1_1meta_1_1detail_1_1__or___3_4}
\input{structtest__concepts_1_1_a}
\input{struct_tmeta_detection_1_1_a}
\input{structtesting_1_1internal_1_1_add_reference}
\input{structtesting_1_1internal_1_1_add_reference_3_01_t_01_6_01_4}
\input{structutl_1_1meta_1_1same__as_1_1apply}
\input{structutl_1_1meta_1_1not__same__as_1_1apply}
\input{structutl_1_1meta_1_1apply__impl_1_1apply__}
\input{structutl_1_1meta_1_1apply__impl_1_1apply___3_01_fn_00_01integer__sequence_3_01_t_00_01_is_8_8_8_01_4_01_4}
\input{structutl_1_1meta_1_1apply__impl_1_1apply___3_01_fn_00_01typelist_3_01_list_8_8_8_01_4_01_4}
\input{structutl_1_1array}
\input{structutl_1_1array__traits}
\input{structutl_1_1array__traits_3_01___tp_00_010_01_4}
\input{classtesting_1_1internal_1_1_assert_helper}
\input{structutl_1_1meta_1_1at__impl_1_1at__}
\input{structutl_1_1meta_1_1at__impl_1_1at___3_01typelist_3_01_list_8_8_8_01_4_00_01_n_01_4}
\input{structutl_1_1meta_1_1at__impl_1_1at__head__}
\input{structutl_1_1meta_1_1at__impl_1_1at__head___3_01typelist_3_01voids_8_8_8_01_4_01_4}
\input{structtest__concepts_1_1_b}
\input{structutl_1_1meta_1_1back__impl_1_1back__}
\input{structutl_1_1meta_1_1back__impl_1_1back___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_01_4}
\input{struct_tmeta_detection_1_1_bar}
\input{classtest__concepts_1_1_base}
\input{structutl_1_1common__impl_1_1basic__common__reference}
\input{structutl_1_1bidirectional__iterator__tag}
\input{structutl_1_1meta_1_1bind__back}
\input{structutl_1_1meta_1_1bind__front}
\input{structtesting_1_1internal_1_1bool__constant}
\input{classtesting_1_1internal_1_1_captured_stream}
\input{classtesting_1_1internal_1_1_cartesian_product_generator10}
\input{classtesting_1_1internal_1_1_cartesian_product_generator2}
\input{classtesting_1_1internal_1_1_cartesian_product_generator3}
\input{classtesting_1_1internal_1_1_cartesian_product_generator4}
\input{classtesting_1_1internal_1_1_cartesian_product_generator5}
\input{classtesting_1_1internal_1_1_cartesian_product_generator6}
\input{classtesting_1_1internal_1_1_cartesian_product_generator7}
\input{classtesting_1_1internal_1_1_cartesian_product_generator8}
\input{classtesting_1_1internal_1_1_cartesian_product_generator9}
\input{classtesting_1_1internal_1_1_cartesian_product_holder10}
\input{classtesting_1_1internal_1_1_cartesian_product_holder2}
\input{classtesting_1_1internal_1_1_cartesian_product_holder3}
\input{classtesting_1_1internal_1_1_cartesian_product_holder4}
\input{classtesting_1_1internal_1_1_cartesian_product_holder5}
\input{classtesting_1_1internal_1_1_cartesian_product_holder6}
\input{classtesting_1_1internal_1_1_cartesian_product_holder7}
\input{classtesting_1_1internal_1_1_cartesian_product_holder8}
\input{classtesting_1_1internal_1_1_cartesian_product_holder9}
\input{structutl_1_1meta_1_1cat__impl_1_1cat__}
\input{structutl_1_1meta_1_1cat__impl_1_1cat___3_01typelist_3_01_l1_8_8_8_01_4_01_4}
\input{structutl_1_1meta_1_1cat__impl_1_1cat___3_01typelist_3_01_l1_8_8_8_01_4_00_01typelist_3_01_l2_8_8_8_01_4_01_4}
\input{structutl_1_1meta_1_1cat__impl_1_1cat___3_01typelist_3_01_l1_8_8_8_01_4_00_01typelist_3_01_l2_8_8_8_01_4_00_01_ln_8_8_8_01_4}
\input{structutl_1_1meta_1_1cat__impl_1_1cat___3_4}
\input{structtesting_1_1internal_1_1_code_location}
\input{structutl_1_1common__impl_1_1common__reference}
\input{structutl_1_1common__impl_1_1common__reference_3_01_t_01_4}
\input{structutl_1_1common__impl_1_1common__reference_3_01_t_00_01_u_01_4}
\input{structutl_1_1common__impl_1_1common__reference_3_01_t_00_01_u_00_01_v_00_01_w_8_8_8_01_4}
\input{structtesting_1_1internal_1_1_compile_assert_types_equal}
\input{structtesting_1_1internal_1_1_compile_assert_types_equal_3_01_t_00_01_t_01_4}
\input{structutl_1_1meta_1_1detail_1_1compose__}
\input{structutl_1_1meta_1_1detail_1_1compose___3_01_fn0_01_4}
\input{structutl_1_1meta_1_1detail_1_1compose___3_01_fn0_00_01_fns_8_8_8_01_4}
\input{structutl_1_1meta_1_1detail_1_1compose__f__}
\input{structutl_1_1meta_1_1detail_1_1compose__f___3_01_fn0_01_4}
\input{structutl_1_1meta_1_1detail_1_1compose__f___3_01_fn0_00_01_fns_8_8_8_01_4}
\input{structtesting_1_1internal_1_1_const_char_ptr}
\input{structtesting_1_1internal_1_1_const_ref}
\input{structtesting_1_1internal_1_1_const_ref_3_01_t_01_6_01_4}
\input{structutl_1_1contiguous__iterator__tag}
\input{structutl_1_1meta_1_1count__if__impl_1_1count__if__}
\input{structutl_1_1meta_1_1count__if__impl_1_1count__if___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_00_01_fn_00_01_n_01_4}
\input{structutl_1_1meta_1_1count__if__impl_1_1count__if___3_01typelist_3_4_00_01_fn_00_01_n_01_4}
\input{structutl_1_1crtp__tag}
\input{structutl_1_1meta_1_1detail_1_1defer__}
\input{structutl_1_1meta_1_1detail_1_1defer__i__}
\input{classtest__concepts_1_1_derived1}
\input{classtest__concepts_1_1_derived2}
\input{structutl_1_1meta_1_1detail_1_1detector}
\input{structutl_1_1meta_1_1detail_1_1detector_3_01_default_00_01void__t_3_01_op_3_01_args_8_8_8_01_4_0c35bdbd19f56980c0b5ee6d490bfb634}
\input{structutl_1_1dev__iterator__traits}
\input{structtesting_1_1internal_1_1_double_sequence}
\input{structtesting_1_1internal_1_1_double_sequence_3_01false_00_01_index_sequence_3_01_i_8_8_8_01_4_00_01sizeof_t_01_4}
\input{structtesting_1_1internal_1_1_double_sequence_3_01true_00_01_index_sequence_3_01_i_8_8_8_01_4_00_01sizeof_t_01_4}
\input{structtesting_1_1internal_1_1_elem_from_list}
\input{structtesting_1_1internal_1_1_elem_from_list_3_01_n_00_01_index_sequence_3_01_i_8_8_8_01_4_00_01_t_8_8_8_01_4}
\input{structtesting_1_1internal_1_1_elem_from_list_impl}
\input{structtesting_1_1internal_1_1_elem_from_list_impl_3_01_t_00_01_i_00_01_i_01_4}
\input{structtest__concepts_1_1_empty}
\input{classtesting_1_1_empty_test_event_listener}
\input{structtesting_1_1internal_1_1_enable_if}
\input{structtesting_1_1internal_1_1_enable_if_3_01true_01_4}
\input{classtesting_1_1_environment}
\input{classtesting_1_1internal_1_1_eq_helper}
\input{classtesting_1_1internal_1_1_eq_helper_3_01true_01_4}
\input{struct_tmeta_typelist_1_1_f}
\input{structtesting_1_1internal_1_1faketype}
\input{structutl_1_1meta_1_1filter__impl_1_1filter__}
\input{structutl_1_1meta_1_1filter__impl_1_1filter___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_00_01_fn_00_01_l_01_4}
\input{structutl_1_1meta_1_1filter__impl_1_1filter___3_01typelist_3_4_00_01_fn_00_01_l_01_4}
\input{structutl_1_1meta_1_1find__if__impl_1_1find__if__}
\input{structutl_1_1meta_1_1find__if__impl_1_1find__if___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_00_01_fn_00_01_n_01_4}
\input{structutl_1_1meta_1_1find__if__impl_1_1find__if___3_01typelist_3_4_00_01_fn_00_01_n_01_4}
\input{classtesting_1_1internal_1_1_flat_tuple}
\input{structtesting_1_1internal_1_1_flat_tuple_base}
\input{structtesting_1_1internal_1_1_flat_tuple_base_3_01_flat_tuple_3_01_t_8_8_8_01_4_00_01_index_sequence_3_01_idx_8_8_8_01_4_01_4}
\input{structtesting_1_1internal_1_1_flat_tuple_elem_base}
\input{structtesting_1_1internal_1_1_flat_tuple_elem_base_3_01_flat_tuple_3_01_t_8_8_8_01_4_00_01_i_01_4}
\input{classtesting_1_1internal_1_1_floating_point}
\input{structutl_1_1meta_1_1fold__impl_1_1fold__}
\input{structutl_1_1meta_1_1fold__impl_1_1fold___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_00_01_v_00_01_fn_01_4}
\input{structutl_1_1meta_1_1fold__impl_1_1fold___3_01typelist_3_4_00_01_v0_00_01_fn_01_4}
\input{struct_tmeta_detection_1_1_foo}
\input{classtesting_1_1internal_1_1_format_for_comparison}
\input{classtesting_1_1internal_1_1_format_for_comparison_3_01_to_print[_n]_00_01_other_operand_01_4}
\input{structutl_1_1forward__iterator__tag}
\input{structutl_1_1meta_1_1front__impl_1_1front__}
\input{structutl_1_1meta_1_1front__impl_1_1front___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_01_4}
\input{classtesting_1_1internal_1_1_g_test_log}
\input{classtesting_1_1internal_1_1_g_test_mutex_lock}
\input{structtest__concepts_1_1_have_copy_and_move}
\input{structtest__concepts_1_1_have_only_copy}
\input{structtest__concepts_1_1_have_only_move}
\input{classtest__concepts_1_1_have_operator_base}
\input{classtest__concepts_1_1_have_perfect_forwarding}
\input{classtest__i2c_1_1_i2_c}
\input{classutl_1_1i2c__bb__i}
\input{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4}
\input{classutl_1_1i2c__i}
\input{classutl_1_1i2c__i_3_01virtual__tag_01_4}
\input{structtest__meta_1_1_ibar}
\input{structutl_1_1id__t}
\input{structutl_1_1id__traits}
\input{structutl_1_1id__traits_3_01___tp_00_010_01_4}
\input{struct_tmeta_basic_1_1_identity}
\input{struct_tmeta_typelist_1_1_identity}
\input{structutl_1_1meta_1_1identity}
\input{classutl_1_1idx__dev}
\input{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}
\input{structutl_1_1meta_1_1detail_1_1if__c__}
\input{structutl_1_1meta_1_1detail_1_1if__c___3_01false_00_01_then_00_01_else_01_4}
\input{structutl_1_1meta_1_1detail_1_1if__c___3_01true_00_01_then_01_4}
\input{structutl_1_1meta_1_1detail_1_1if__c___3_01true_00_01_then_00_01_else_01_4}
\input{structtest__meta_1_1_ifoo}
\input{classtesting_1_1internal_1_1_ignored_value}
\input{classtesting_1_1internal_1_1_implicitly_convertible}
\input{classutl_1_1in__dev}
\input{classutl_1_1in__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}
\input{classutl_1_1inbuf__dev}
\input{classutl_1_1inbuf__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}
\input{structtest__concepts_1_1_incr}
\input{classutl_1_1indev__it}
\input{structtesting_1_1internal_1_1_index_sequence}
\input{structutl_1_1input__iterator__tag}
\input{structtest__concepts_1_1_inv}
\input{structutl_1_1detail_1_1invoke__result__}
\input{structutl_1_1detail_1_1invoke__result___3_01true_00_01___callable_00_01___args_8_8_8_01_4}
\input{classutl_1_1iodev__it}
\input{structutl_1_1__1wire__i__det_1_1is__1wire__}
\input{structutl_1_1__1wire__i__det_1_1is__1wire___3_01___tp_00_01meta_1_1void__t_3_01void_01_4_01_4}
\input{structutl_1_1meta_1_1detail_1_1is__applicable__}
\input{structutl_1_1meta_1_1detail_1_1is__applicable__i__}
\input{structutl_1_1meta_1_1detail_1_1is__applicable__q__}
\input{structutl_1_1details_1_1is__boolean__}
\input{structutl_1_1details_1_1is__boolean___3_01_b_00_01meta_1_1void__t_3_01meta_1_1use__if__same__t_37e77ed45a431955fc15b4c1210ad8491}
\input{structutl_1_1i2c__i__details_1_1is__i2c__}
\input{structutl_1_1i2c__i__details_1_1is__i2c___3_01___tp_00_01meta_1_1void__t_3_01typename_01___tp_1_1_sequence_00_01void_01_4_01_4}
\input{structutl_1_1idx__dev__details_1_1is__idx__dev__}
\input{structutl_1_1idx__dev__details_1_1is__idx__dev___3_01___tp_00_01void__t_3_01typename_01___tp_1_1ae8b6b24c31c81bdd901da6e6387d84b}
\input{structutl_1_1idxdev__it__details_1_1is__idxdev__it__}
\input{structutl_1_1idxdev__it__details_1_1is__idxdev__it___3_01___tp_00_01meta_1_1void__t_3_01typenamebd9ada52ca7b7570c26d0c280af5e635}
\input{structutl_1_1in__dev__details_1_1is__in__dev__}
\input{structutl_1_1in__dev__details_1_1is__in__dev___3_01___tp_00_01void__t_3_01typename_01___tp_1_1dad922a62deb7c32e2cff18d66b8c887d2}
\input{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev__}
\input{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev___3_01___tp_00_01void__t_3_01typename_01___tpc269ee3885240cc8c352f3c6b3a67cd7}
\input{structutl_1_1indev__it__details_1_1is__indev__it__}
\input{structutl_1_1indev__it__details_1_1is__indev__it___3_01___tp_00_01meta_1_1void__t_3_01typename_06508604dcee4010234c84cc332fa196b}
\input{structutl_1_1is__invocable}
\input{structutl_1_1is__invocable__r}
\input{structutl_1_1out__dev__details_1_1is__out__dev__}
\input{structutl_1_1out__dev__details_1_1is__out__dev___3_01___tp_00_01void__t_3_01typename_01___tp_1_1fbf8d2409fc6de9dd6b9649bedc1b379}
\input{structutl_1_1outdev__it__details_1_1is__outdev__it__}
\input{structutl_1_1outdev__it__details_1_1is__outdev__it___3_01___tp_00_01meta_1_1void__t_3_01typename8786ebbbd0dc9ca1b14571e779d99d60}
\input{structutl_1_1detail_1_1is__ref__wrapper}
\input{structutl_1_1detail_1_1is__ref__wrapper_3_01std_1_1reference__wrapper_3_01_u_01_4_01_4}
\input{structtesting_1_1internal_1_1is__same}
\input{structtesting_1_1internal_1_1is__same_3_01_t_00_01_t_01_4}
\input{structutl_1_1spi__i__details_1_1is__spi__}
\input{structutl_1_1spi__i__details_1_1is__spi___3_01___tp_00_01meta_1_1void__t_3_01meta_1_1use__if__sa2db29f6d65d34ecf5e49ec30b6600d78}
\input{structutl_1_1details_1_1is__strict__totally__ordered__}
\input{structutl_1_1details_1_1is__strict__totally__ordered___3_01_t_00_01meta_1_1void__t_3_01meta_1_1uab48bcfc89164f446368b35bcc7c8bcd}
\input{structutl_1_1details_1_1is__strict__totally__ordered__with__}
\input{structutl_1_1details_1_1is__strict__totally__ordered__with___3_01_t_00_01_u_00_01meta_1_1void__t8fb7dd5a6ad25952241e37c6f163f434}
\input{structutl_1_1details_1_1is__weakly__equality__comparable__with__}
\input{structutl_1_1details_1_1is__weakly__equality__comparable__with___3_01_t_00_01_u_00_01meta_1_1voi4404f901930622694666ca68fb75381b}
\input{structtesting_1_1internal_1_1_is_a_protocol_message}
\input{structtesting_1_1internal_1_1_is_hash_table}
\input{structtesting_1_1internal_1_1_is_recursive_container}
\input{structtesting_1_1internal_1_1_is_recursive_container_impl}
\input{structtesting_1_1internal_1_1_is_recursive_container_impl_3_01_c_00_01false_01_4}
\input{structtesting_1_1internal_1_1_is_recursive_container_impl_3_01_c_00_01true_01_4}
\input{structtesting_1_1internal_1_1_is_same}
\input{structtesting_1_1internal_1_1_is_same_3_01_t_00_01_t_01_4}
\input{classutl_1_1istreamdev__it}
\input{structtesting_1_1internal_1_1_iterator_traits}
\input{structtesting_1_1internal_1_1_iterator_traits_3_01const_01_t_01_5_01_4}
\input{structtesting_1_1internal_1_1_iterator_traits_3_01_t_01_5_01_4}
\input{structtesting_1_1internal_1_1_make_index_sequence}
\input{structtesting_1_1internal_1_1_make_index_sequence_3_010_01_4}
\input{classtesting_1_1_message}
\input{struct_tmeta_detection_1_1m_fun}
\input{struct_tmeta_typelist_1_1_mfun_bin}
\input{struct_tmeta_typelist_1_1_mfun_bin__i}
\input{struct_tmeta_typelist_1_1_mfun_un1}
\input{struct_tmeta_typelist_1_1_mfun_un2}
\input{classtesting_1_1internal_1_1_mutex}
\input{structutl_1_1meta_1_1nat__}
\input{classtesting_1_1internal_1_1_native_array}
\input{structutl_1_1meta_1_1nil__}
\input{structutl_1_1meta_1_1not__same__as}
\input{classutl_1_1ostream__dev}
\input{classutl_1_1ostream__dev_3_01virtual__tag_00_01data__t_01_4}
\input{classtest__ostream__dev_1_1_ostream__dev__impl}
\input{classtest__ostream__dev_1_1_ostream__vdev__impl}
\input{classutl_1_1ostreamdev__it}
\input{classutl_1_1out__dev}
\input{classutl_1_1out__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}
\input{classutl_1_1outdev__it}
\input{structutl_1_1output__iterator__tag}
\input{classtest__1w_1_1_o_w}
\input{classtesting_1_1internal_1_1_parameterized_test_factory}
\input{classtesting_1_1internal_1_1_parameterized_test_suite_info}
\input{classtesting_1_1internal_1_1_parameterized_test_suite_info_base}
\input{classtesting_1_1internal_1_1_parameterized_test_suite_registry}
\input{classtesting_1_1internal_1_1_param_generator}
\input{classtesting_1_1internal_1_1_param_generator_interface}
\input{classtesting_1_1internal_1_1_param_iterator}
\input{classtesting_1_1internal_1_1_param_iterator_interface}
\input{structtesting_1_1internal_1_1_param_name_gen_func}
\input{structutl_1_1meta_1_1pop__back__impl_1_1pop__back__}
\input{structutl_1_1meta_1_1pop__front__impl_1_1pop__front__}
\input{structutl_1_1meta_1_1pop__front__impl_1_1pop__front___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_01_4}
\input{structtest__concepts_1_1_pred}
\input{struct_tmeta_typelist_1_1_pred__is_int}
\input{struct_tmeta_typelist_1_1_pred__is_void}
\input{structtesting_1_1_print_to_string_param_name}
\input{structutl_1_1meta_1_1quote}
\input{structutl_1_1meta_1_1quote__i}
\input{classtesting_1_1internal_1_1_random}
\input{structutl_1_1random__access__iterator__tag}
\input{classtesting_1_1internal_1_1_range_generator}
\input{classtesting_1_1internal_1_1_r_e}
\input{structtesting_1_1internal_1_1_relation_to_source_copy}
\input{structtesting_1_1internal_1_1_relation_to_source_reference}
\input{structtesting_1_1internal_1_1_remove_const}
\input{structtesting_1_1internal_1_1_remove_const_3_01const_01_t_01_4}
\input{structtesting_1_1internal_1_1_remove_const_3_01const_01_t[_n]_4}
\input{structtesting_1_1internal_1_1_remove_reference}
\input{structtesting_1_1internal_1_1_remove_reference_3_01_t_01_6_01_4}
\input{structutl_1_1meta_1_1replace__if__impl_1_1replace__if__}
\input{structutl_1_1meta_1_1replace__if__impl_1_1replace__if___3_01typelist_3_01_head_00_01_tail_8_8_8_dfa8065a3617f53ecded260506092a07}
\input{structutl_1_1meta_1_1replace__if__impl_1_1replace__if___3_01typelist_3_4_00_01_fn_00_01_t_00_01_ret_01_4}
\input{structutl_1_1meta_1_1rev__fold__impl_1_1rev__fold__}
\input{structutl_1_1meta_1_1rev__fold__impl_1_1rev__fold___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_00_01_v_00_01_fn_01_4}
\input{structutl_1_1meta_1_1rev__fold__impl_1_1rev__fold___3_01typelist_3_01_tail_01_4_00_01_v_00_01_fn_01_4}
\input{structutl_1_1meta_1_1rev__fold__impl_1_1rev__fold___3_01typelist_3_4_00_01_v_00_01_fn_01_4}
\input{structutl_1_1meta_1_1reverse__impl_1_1reverse__}
\input{structutl_1_1meta_1_1same__}
\input{structutl_1_1meta_1_1same___3_01___tp_00_01___tp_01_4}
\input{structutl_1_1meta_1_1same__as}
\input{classtesting_1_1_scoped_trace}
\input{structutl_1_1meta_1_1seek__if__impl_1_1seek__if__}
\input{structutl_1_1meta_1_1seek__if__impl_1_1seek__if___3_01typelist_3_01_head_00_01_tail_8_8_8_01_4_00_01_fn_00_01_n_01_4}
\input{structutl_1_1meta_1_1seek__if__impl_1_1seek__if___3_01typelist_3_4_00_01_fn_00_01_n_01_4}
\input{classtest__spi_1_1_s_p_i}
\input{classutl_1_1spi__bb__i}
\input{classutl_1_1spi__bb__i_3_01virtual__tag_00_01_c_p_o_l_00_01_c_p_h_a_00_01_bit_order_01_4}
\input{classutl_1_1spi__i}
\input{classutl_1_1spi__i_3_01virtual__tag_01_4}
\input{structtesting_1_1internal_1_1_static_assert_type_eq_helper}
\input{structtesting_1_1internal_1_1_static_assert_type_eq_helper_3_01_t_00_01_t_01_4}
\input{structtesting_1_1internal_1_1_suite_api_resolver}
\input{classtesting_1_1_test}
\input{classtest__1w_1_1_test__1w__impl}
\input{classtest__spi_1_1_test__spi__impl}
\input{classtesting_1_1_test_event_listener}
\input{classtesting_1_1_test_event_listeners}
\input{classtesting_1_1internal_1_1_test_factory_base}
\input{classtesting_1_1internal_1_1_test_factory_impl}
\input{classtesting_1_1_test_info}
\input{classtesting_1_1internal_1_1_test_meta_factory}
\input{classtesting_1_1internal_1_1_test_meta_factory_base}
\input{structtesting_1_1_test_param_info}
\input{classtesting_1_1_test_property}
\input{classtesting_1_1_test_result}
\input{classtesting_1_1_test_suite}
\input{classtesting_1_1_test_with_param}
\input{classtesting_1_1internal_1_1_thread_local}
\input{classtest__ostream__dev_1_1_tostream___idev}
\input{classtest__ostream__dev_1_1_tostream___vdev}
\input{structutl_1_1meta_1_1transform__impl_1_1transform__}
\input{structutl_1_1meta_1_1transform__impl_1_1transform___3_01typelist_3_01typelist_3_01_ts_8_8_8_01_40fe2b1c8ede658aadb6925de73541689}
\input{structutl_1_1meta_1_1transform__impl_1_1transform___3_01typelist_3_01typelist_3_01_ts0_8_8_8_01_8fba6bf3d0565d17a96950cb517db5f1}
\input{structutl_1_1meta_1_1transform__lazy__impl_1_1transform__lazy__}
\input{structutl_1_1meta_1_1transform__lazy__impl_1_1transform__lazy___3_01typelist_3_01typelist_3_01_t56243bc35bf73da8271cb88f34751f3a}
\input{structutl_1_1meta_1_1transform__lazy__impl_1_1transform__lazy___3_01typelist_3_01typelist_3_01_t14ff615a4bff6c4c3701df9c38aaa6a5}
\input{structutl_1_1detail_1_1try__invoke}
\input{structutl_1_1array__traits_3_01___tp_00_010_01_4_1_1type}
\input{structutl_1_1id__traits_3_01___tp_00_010_01_4_1_1type}
\input{classtesting_1_1internal_1_1_type_id_helper}
\input{structutl_1_1meta_1_1typelist}
\input{classtesting_1_1internal2_1_1_type_without_formatter}
\input{classtesting_1_1internal2_1_1_type_without_formatter_3_01_t_00_01k_convertible_to_integer_01_4}
\input{classtesting_1_1internal2_1_1_type_without_formatter_3_01_t_00_01k_protobuf_01_4}
\input{classtesting_1_1internal_1_1_type_with_size}
\input{classtesting_1_1internal_1_1_type_with_size_3_014_01_4}
\input{classtesting_1_1internal_1_1_type_with_size_3_018_01_4}
\input{classtesting_1_1_unit_test}
\input{classtesting_1_1internal_1_1_universal_printer}
\input{classtesting_1_1internal_1_1_universal_printer_3_01_t_01_6_01_4}
\input{classtesting_1_1internal_1_1_universal_printer_3_01_t[_n]_4}
\input{classtesting_1_1internal_1_1_universal_terse_printer}
\input{classtesting_1_1internal_1_1_universal_terse_printer_3_01char_01_5_01_4}
\input{classtesting_1_1internal_1_1_universal_terse_printer_3_01const_01char_01_5_01_4}
\input{classtesting_1_1internal_1_1_universal_terse_printer_3_01const_01wchar__t_01_5_01_4}
\input{classtesting_1_1internal_1_1_universal_terse_printer_3_01_t_01_6_01_4}
\input{classtesting_1_1internal_1_1_universal_terse_printer_3_01_t[_n]_4}
\input{classtesting_1_1internal_1_1_universal_terse_printer_3_01wchar__t_01_5_01_4}
\input{classtesting_1_1internal_1_1_value_array}
\input{classtesting_1_1internal_1_1_values_in_iterator_range_generator}
\input{structutl_1_1virtual__tag}
\input{structutl_1_1meta_1_1detail_1_1when__}
\input{structutl_1_1meta_1_1detail_1_1when___3_01true_01_4}
\input{classtesting_1_1_with_param_interface}
\input{structutl_1_1meta_1_1wrap}
\input{structutl_1_1meta_1_1wrap__i}
\input{structtesting_1_1internal_1_1_wrap_printer_type}
\chapter{File Documentation}
\input{__1wire_8h}
\input{__1wire__id_8h}
\input{__1wire__uart_8h}
\input{i2c_8h}
\input{i2c__bb_8h}
\input{spi_8h}
\input{spi__bb_8h}
\input{concepts_8h}
\input{defines_8h}
\input{iterators_8h}
\input{stl_8h}
\input{array_8h}
\input{id_8h}
\input{crtp_8h}
\input{impl_8h}
\input{types_8h}
\input{version_8h}
\input{dev__iterators_8h}
\input{idx__dev_8h}
\input{in__dev_8h}
\input{inbuf__dev_8h}
\input{ostream__dev_8h}
\input{out__dev_8h}
\input{detection_8h}
\input{integral_8h}
\input{meta_2invoke_8h}
\input{utility_2invoke_8h}
\input{meta_8h}
\input{operations_8h}
\input{selection_8h}
\input{sfinae_8h}
\input{typelist_8h}
\input{useif_8h}
\input{_r_e_a_d_m_e_8md}
\input{_tmeta_8d}
\input{lib_2gtest_2gtest-all_8d}
\input{_concepts_2lib_2gtest_2gtest-all_8d}
\input{source_2main_8d}
\input{_concepts_2source_2main_8d}
\input{source_2tests_2_t_concepts_8d}
\input{_concepts_2source_2tests_2_t_concepts_8d}
\input{source_2tests_2test__1w__impl_8d}
\input{_concepts_2source_2tests_2test__1w__impl_8d}
\input{source_2tests_2test__i2c__impl_8d}
\input{_concepts_2source_2tests_2test__i2c__impl_8d}
\input{source_2tests_2test__ostream__dev_8d}
\input{_concepts_2source_2tests_2test__ostream__dev_8d}
\input{source_2tests_2test__spi__impl_8d}
\input{_concepts_2source_2tests_2test__spi__impl_8d}
\input{source_2tests_2_tinvoke_8d}
\input{_concepts_2source_2tests_2_tinvoke_8d}
\input{_tmeta_basic_8d}
\input{_tmeta_detection_8d}
\input{_tmeta_typelist_8d}
\input{gtest-all_8cc}
\input{gtest_8h}
\input{main_8cpp}
\input{_t_concepts_8cpp}
\input{test__1w__impl_8cpp}
\input{test__i2c__impl_8cpp}
\input{test__ostream__dev_8cpp}
\input{test__spi__impl_8cpp}
\input{_tinvoke_8cpp}
\input{_tmeta_basic_8cpp}
\input{_tmeta_detection_8cpp}
\input{_tmeta_typelist_8cpp}
\chapter{Example Documentation}
\input{_w_1_2_work_2_software_2_libraries_2utl_2include_2utl_2concepts_2defines_8h-example}
\input{_w_1_2_work_2_software_2_libraries_2utl_2include_2utl_2meta_2detection_8h-example}
\input{_w_1_2_work_2_software_2_libraries_2utl_2include_2utl_2meta_2invoke_8h-example}
\input{_w_1_2_work_2_software_2_libraries_2utl_2include_2utl_2meta_2typelist_8h-example}
%--- End generated contents ---

% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{Index}
\printindex

\end{document}
