\hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4}{}\section{utl\+:\+:i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$ Class Template Reference}
\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4}\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}


A virtual base class interface specialization. Using the private virtual interface we provide the interface from \mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4}{i2c\+\_\+i$<$virtual\+\_\+tag$>$}}  




{\ttfamily \#include $<$i2c\+\_\+bb.\+h$>$}

Inheritance diagram for utl\+:\+:i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7f}{S\+D\+A\+Mode}} \{ \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7faa84cc046d48610b05c21fd3670d0c829}{S\+D\+A\+Mode\+::\+I\+N\+P\+UT}} =0, 
\mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7fa50a87f0d71f7221582dad4bf507a0f34}{S\+D\+A\+Mode\+::\+O\+U\+T\+P\+UT}}
 \}
\begin{DoxyCompactList}\small\item\em S\+DA pin direction enumerator. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_abedad1f30e2c695d47a84dc68ff05897}{type}} = \mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$
\begin{DoxyCompactList}\small\item\em Export type as identity meta-\/function. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af8c7ac3797343e39e7e052ec51aec232}{Sequence}} = typename \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4_a260541de452a9a653162b8b109b26c09}{Sequence}}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{Indent}\textbf{ Object lifetime}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_a0c9341b2a60e9400523de0397c472a76}{i2c\+\_\+bb\+\_\+i}} (uint32\+\_\+t clk) noexcept
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_afcb5292af5af4c90f58945dab756b2ce}{$\sim$i2c\+\_\+bb\+\_\+i}} () noexcept=default
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$$>$\newline
class utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}

A virtual base class interface specialization. Using the private virtual interface we provide the interface from \mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4}{i2c\+\_\+i$<$virtual\+\_\+tag$>$}} 


\begin{DoxyParams}{Parameters}
{\em impl\+\_\+t} & = \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} \\
\hline
\end{DoxyParams}


Definition at line 234 of file i2c\+\_\+bb.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af8c7ac3797343e39e7e052ec51aec232}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af8c7ac3797343e39e7e052ec51aec232}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!Sequence@{Sequence}}
\index{Sequence@{Sequence}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}
\subsubsection{\texorpdfstring{Sequence}{Sequence}}
{\footnotesize\ttfamily using \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4_a260541de452a9a653162b8b109b26c09}{Sequence}} =  typename \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$\mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}$>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4_a260541de452a9a653162b8b109b26c09}{Sequence}}}



Definition at line 237 of file i2c\+\_\+bb.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_abedad1f30e2c695d47a84dc68ff05897}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_abedad1f30e2c695d47a84dc68ff05897}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!type@{type}}
\index{type@{type}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}
\subsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily using \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4_ac892faacc1566f4ca1438e3df765bcac}{type}} =  \mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}}$<$\mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}$>$}



Export type as identity meta-\/function. 



Definition at line 236 of file i2c\+\_\+bb.\+h.



\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7f}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7f}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!S\+D\+A\+Mode@{S\+D\+A\+Mode}}
\index{S\+D\+A\+Mode@{S\+D\+A\+Mode}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}
\subsubsection{\texorpdfstring{S\+D\+A\+Mode}{SDAMode}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$\+::\mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7f}{S\+D\+A\+Mode}}\hspace{0.3cm}{\ttfamily [strong]}}



S\+DA pin direction enumerator. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{I\+N\+P\+UT@{I\+N\+P\+UT}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!I\+N\+P\+UT@{I\+N\+P\+UT}}}\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7faa84cc046d48610b05c21fd3670d0c829}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7faa84cc046d48610b05c21fd3670d0c829}} 
I\+N\+P\+UT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{O\+U\+T\+P\+UT@{O\+U\+T\+P\+UT}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!O\+U\+T\+P\+UT@{O\+U\+T\+P\+UT}}}\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7fa50a87f0d71f7221582dad4bf507a0f34}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_af4bc7eeeb830e49046a1033e9c79db7fa50a87f0d71f7221582dad4bf507a0f34}} 
O\+U\+T\+P\+UT&\\
\hline

\end{DoxyEnumFields}


Definition at line 239 of file i2c\+\_\+bb.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_a0c9341b2a60e9400523de0397c472a76}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_a0c9341b2a60e9400523de0397c472a76}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!i2c\+\_\+bb\+\_\+i@{i2c\+\_\+bb\+\_\+i}}
\index{i2c\+\_\+bb\+\_\+i@{i2c\+\_\+bb\+\_\+i}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}
\subsubsection{\texorpdfstring{i2c\+\_\+bb\+\_\+i()}{i2c\_bb\_i()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$\+::\mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}} (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{clk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [noexcept]}}



Constructor. 



Definition at line 250 of file i2c\+\_\+bb.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_afcb5292af5af4c90f58945dab756b2ce}\label{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4_afcb5292af5af4c90f58945dab756b2ce}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}!````~i2c\+\_\+bb\+\_\+i@{$\sim$i2c\+\_\+bb\+\_\+i}}
\index{````~i2c\+\_\+bb\+\_\+i@{$\sim$i2c\+\_\+bb\+\_\+i}!utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$@{utl\+::i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}
\subsubsection{\texorpdfstring{$\sim$i2c\+\_\+bb\+\_\+i()}{~i2c\_bb\_i()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}, {\ttfamily [default]}, {\ttfamily [noexcept]}}



Virtual destructor. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/utl/com/\mbox{\hyperlink{i2c__bb_8h}{i2c\+\_\+bb.\+h}}\end{DoxyCompactItemize}
