\hypertarget{DictionaryADT_8hh}{
\section{Dictionary\-ADT.hh File Reference}
\label{DictionaryADT_8hh}\index{DictionaryADT.hh@{DictionaryADT.hh}}
}


\subsection{Detailed Description}
Specification of a templated \hyperlink{classDictionaryADT}{Dictionary\-ADT} class which maps keys to values (duplicated keys are not allowed).





Definition in file \hyperlink{DictionaryADT_8hh-source}{Dictionary\-ADT.hh}.{\tt \#include $<$utility$>$}\par
{\tt \#include $<$vector$>$}\par
{\tt \#include $<$iostream$>$}\par
\subsection*{Compounds}
\begin{CompactItemize}
\item 
class \hyperlink{classDictionaryADT}{Dictionary\-ADT}
\begin{CompactList}\small\item\em This abstract class gives the basic interface of the Dictionary\-ADT.\item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
template$<$typename Key\-Type, typename Value\-Type$>$ std::ostream \& \hyperlink{DictionaryADT_8hh_a0}{operator$<$$<$} (std::ostream \&os, const std::pair$<$ Key\-Type, Value\-Type $>$ \&entry)
\begin{CompactList}\small\item\em An overloading of operator$<$$<$ that allows for easy printing of the \char`\"{}Entry\char`\"{} type in the \hyperlink{classDictionaryADT}{Dictionary\-ADT}.\item\end{CompactList}\end{CompactItemize}


\subsection{Function Documentation}
\hypertarget{DictionaryADT_8hh_a0}{
\index{DictionaryADT.hh@{Dictionary\-ADT.hh}!operator<<@{operator$<$$<$}}
\index{operator<<@{operator$<$$<$}!DictionaryADT.hh@{Dictionary\-ADT.hh}}
\subsubsection[operator$<$$<$]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Key\-Type, typename Value\-Type$>$ std::ostream\& operator$<$$<$ (std::ostream \& {\em os}, const std::pair$<$ Key\-Type, Value\-Type $>$ \& {\em entry})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{DictionaryADT_8hh_a0}


An overloading of operator$<$$<$ that allows for easy printing of the \char`\"{}Entry\char`\"{} type in the \hyperlink{classDictionaryADT}{Dictionary\-ADT}.

We use \char`\"{}std::pair\char`\"{} rather than the typedef since the compiler seems to get confused otherwise. The function is static inline because it is in the header file so we need static to avoid multiple definition errors. It is inlined becasue it is short enough that it might as well.

\begin{Desc}
\item[Returns :]\par
The ostream used by operator$<$$<$. This allows for chaining like: {\tt  cout $<$$<$ entry $<$$<$ endl;}.\end{Desc}
\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
os}]The output stream to pretty-print the entry to. This funciton defaults to cerr.\item[{\em 
entry}]The entry to prettyprint. \end{description}
\end{Desc}


Definition at line 173 of file Dictionary\-ADT.hh.