\section{Basic\-File\-Location Class Reference}
\label{class_basic_file_location}\index{BasicFileLocation@{BasicFileLocation}}
This class is mainly used by {\bf Basic\-Exception}{\rm (p.\,\pageref{class_basic_exception})}, but can be used as a general class for recording a line and column location with in a file.  


{\tt \#include $<$Basic\-File\-Location.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Basic\-File\-Location} ()
\begin{CompactList}\small\item\em Construct a default Basic\-File\-Location with an empty value. \item\end{CompactList}\item 
{\bf Basic\-File\-Location} (const {\bf Basic\-File\-Location} \&x)
\begin{CompactList}\small\item\em Copy constructor. \item\end{CompactList}\item 
{\bf Basic\-File\-Location} (const std::string {\bf filename}, const long {\bf line}, const long {\bf col})
\item 
virtual {\bf $\sim$Basic\-File\-Location} ()
\item 
const std::string {\bf get\-Filename} () const
\item 
const long {\bf get\-Line} () const
\item 
const long {\bf get\-Col} () const
\item 
bool {\bf is\-Empty} () const
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
std::string {\bf filename}
\item 
long {\bf line}
\item 
long {\bf col}
\item 
bool {\bf empty}
\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
std::ostream \& {\bf operator$<$$<$} (std::ostream \&stream, const {\bf Basic\-File\-Location} \&fl)
\begin{CompactList}\small\item\em Print a file location to a stream. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
This class is mainly used by {\bf Basic\-Exception}{\rm (p.\,\pageref{class_basic_exception})}, but can be used as a general class for recording a line and column location with in a file. 



\subsection{Constructor \& Destructor Documentation}
\index{BasicFileLocation@{Basic\-File\-Location}!BasicFileLocation@{BasicFileLocation}}
\index{BasicFileLocation@{BasicFileLocation}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Basic\-File\-Location::Basic\-File\-Location ()\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a0}


Construct a default Basic\-File\-Location with an empty value. 

\index{BasicFileLocation@{Basic\-File\-Location}!BasicFileLocation@{BasicFileLocation}}
\index{BasicFileLocation@{BasicFileLocation}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Basic\-File\-Location::Basic\-File\-Location (const {\bf Basic\-File\-Location} \& {\em x})\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a1}


Copy constructor. 

\index{BasicFileLocation@{Basic\-File\-Location}!BasicFileLocation@{BasicFileLocation}}
\index{BasicFileLocation@{BasicFileLocation}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Basic\-File\-Location::Basic\-File\-Location (const std::string {\em filename}, const long {\em line}, const long {\em col})\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a2}


\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em filename}]The name of the file. \item[{\em line}]The line with that file. \item[{\em col}]The column on that line. \end{description}
\end{Desc}
\index{BasicFileLocation@{Basic\-File\-Location}!~BasicFileLocation@{$\sim$BasicFileLocation}}
\index{~BasicFileLocation@{$\sim$BasicFileLocation}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual Basic\-File\-Location::$\sim${\bf Basic\-File\-Location} ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{class_basic_file_location_a3}




\subsection{Member Function Documentation}
\index{BasicFileLocation@{Basic\-File\-Location}!getCol@{getCol}}
\index{getCol@{getCol}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const long Basic\-File\-Location::get\-Col () const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a6}


\begin{Desc}
\item[Returns:]-1 of no column was set the column number otherwise. \end{Desc}
\index{BasicFileLocation@{Basic\-File\-Location}!getFilename@{getFilename}}
\index{getFilename@{getFilename}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const std::string Basic\-File\-Location::get\-Filename () const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a4}


\index{BasicFileLocation@{Basic\-File\-Location}!getLine@{getLine}}
\index{getLine@{getLine}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const long Basic\-File\-Location::get\-Line () const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a5}


\begin{Desc}
\item[Returns:]-1 if no line was set the line number otherwise. \end{Desc}
\index{BasicFileLocation@{Basic\-File\-Location}!isEmpty@{isEmpty}}
\index{isEmpty@{isEmpty}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Basic\-File\-Location::is\-Empty () const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_file_location_a7}


\begin{Desc}
\item[Returns:]True of no filename, line, or column have been set. \end{Desc}


\subsection{Friends And Related Function Documentation}
\index{BasicFileLocation@{Basic\-File\-Location}!operator<<@{operator$<$$<$}}
\index{operator<<@{operator$<$$<$}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::ostream\& operator$<$$<$ (std::ostream \& {\em stream}, const {\bf Basic\-File\-Location} \& {\em fl})\hspace{0.3cm}{\tt  [friend]}}\label{class_basic_file_location_n0}


Print a file location to a stream. 

The format is as follows.

filename[:line[:col]]

If no line or column has been set then they will not be displayed.

\begin{Desc}
\item[Returns:]A reference to the passed stream. \end{Desc}


\subsection{Member Data Documentation}
\index{BasicFileLocation@{Basic\-File\-Location}!col@{col}}
\index{col@{col}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}long {\bf Basic\-File\-Location::col}\hspace{0.3cm}{\tt  [private]}}\label{class_basic_file_location_r2}


\index{BasicFileLocation@{Basic\-File\-Location}!empty@{empty}}
\index{empty@{empty}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool {\bf Basic\-File\-Location::empty}\hspace{0.3cm}{\tt  [private]}}\label{class_basic_file_location_r3}


\index{BasicFileLocation@{Basic\-File\-Location}!filename@{filename}}
\index{filename@{filename}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::string {\bf Basic\-File\-Location::filename}\hspace{0.3cm}{\tt  [private]}}\label{class_basic_file_location_r0}


\index{BasicFileLocation@{Basic\-File\-Location}!line@{line}}
\index{line@{line}!BasicFileLocation@{Basic\-File\-Location}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}long {\bf Basic\-File\-Location::line}\hspace{0.3cm}{\tt  [private]}}\label{class_basic_file_location_r1}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf Basic\-File\-Location.h}\end{CompactItemize}
