\hypertarget{Array1_8hpp}{}\section{Array1.\+hpp File Reference}
\label{Array1_8hpp}\index{Array1.\+hpp@{Array1.\+hpp}}


This file contains the Array1 template class and supporting code.  


{\ttfamily \#include $<$S\+P\+L/config.\+hpp$>$}\\*
{\ttfamily \#include $<$iostream$>$}\\*
{\ttfamily \#include $<$fstream$>$}\\*
{\ttfamily \#include $<$sstream$>$}\\*
{\ttfamily \#include $<$iomanip$>$}\\*
{\ttfamily \#include $<$vector$>$}\\*
{\ttfamily \#include $<$cassert$>$}\\*
{\ttfamily \#include $<$algorithm$>$}\\*
{\ttfamily \#include $<$functional$>$}\\*
{\ttfamily \#include $<$iterator$>$}\\*
{\ttfamily \#include $<$numeric$>$}\\*
{\ttfamily \#include $<$S\+P\+L/misc.\+hpp$>$}\\*
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classSPL_1_1Array1}{S\+P\+L\+::\+Array1$<$ T $>$}
\begin{DoxyCompactList}\small\item\em A one-\/dimensional array class with lazy copying and reference counting. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1Array1}{S\+P\+L\+::\+Array1$<$ T $>$}
\begin{DoxyCompactList}\small\item\em A one-\/dimensional array class with lazy copying and reference counting. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{Array1_8hpp_aca197edc851da762a556e3122580b639}{S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E}~inline
\begin{DoxyCompactList}\small\item\em Defining this symbol will enable extra code for debugging. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef Array1$<$ double $>$ \hyperlink{group__Array1_gaf143b0253ce36dfbfb356f94fe2290b3}{S\+P\+L\+::\+Real\+Array1}
\begin{DoxyCompactList}\small\item\em A one-\/dimensional array with real elements. \end{DoxyCompactList}\item 
typedef Array1$<$ int $>$ \hyperlink{group__Array1_ga282718c5d07040671e9a5ee17a1c1590}{S\+P\+L\+::\+Int\+Array1}
\begin{DoxyCompactList}\small\item\em A one-\/dimensional array with integer elements. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class T $>$ }\\std\+::ostream \& \hyperlink{group__Array1_gaf1badc1a463f5395aaf54a495d2e82b8}{S\+P\+L\+::operator$<$$<$} (std\+::ostream \&out, const Array1$<$ T $>$ \&a)
\begin{DoxyCompactList}\small\item\em Output an array to the specified stream. \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\std\+::istream \& \hyperlink{group__Array1_ga14cfa8ad133a1b52a2c5e2750110b3e7}{S\+P\+L\+::operator$>$$>$} (std\+::istream \&in, Array1$<$ T $>$ \&a)
\begin{DoxyCompactList}\small\item\em Input an array from the specified stream. \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\bool \hyperlink{group__Array1_ga57177dc0b15aa4e649eabaffcfd7c1b0}{S\+P\+L\+::operator==} (const Array1$<$ T $>$ \&a, const Array1$<$ T $>$ \&b)
\begin{DoxyCompactList}\small\item\em Test two arrays for equality. \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\\hyperlink{Array1_8hpp_aca197edc851da762a556e3122580b639}{S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E} bool \hyperlink{group__Array1_ga6574e0cafce126a9c34fa536e9b38776}{S\+P\+L\+::operator!=} (const Array1$<$ T $>$ \&a, const Array1$<$ T $>$ \&b)
\begin{DoxyCompactList}\small\item\em Test two arrays for inequality. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This file contains the Array1 template class and supporting code. 



\subsection{Macro Definition Documentation}
\hypertarget{Array1_8hpp_aca197edc851da762a556e3122580b639}{}\index{Array1.\+hpp@{Array1.\+hpp}!S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E@{S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E}}
\index{S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E@{S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E}!Array1.\+hpp@{Array1.\+hpp}}
\subsubsection[{S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+P\+L\+\_\+\+A\+R\+R\+A\+Y1\+\_\+\+I\+N\+L\+I\+N\+E~inline}\label{Array1_8hpp_aca197edc851da762a556e3122580b639}


Defining this symbol will enable extra code for debugging. 

Allow the inlining of functions. 