\hypertarget{classSPL_1_1Array2}{}\section{S\+P\+L\+:\+:Array2$<$ T $>$ Class Template Reference}
\label{classSPL_1_1Array2}\index{S\+P\+L\+::\+Array2$<$ T $>$@{S\+P\+L\+::\+Array2$<$ T $>$}}


A two-\/dimensional array class with lazy copying and reference counting.  




{\ttfamily \#include $<$Array2.\+hpp$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef T \hyperlink{classSPL_1_1Array2_ae3656eaba55c9ce394395a0816d2e6c5}{Elem\+Type}
\begin{DoxyCompactList}\small\item\em The type of the elements in the array. \end{DoxyCompactList}\item 
typedef std\+::vector$<$ T $>$\+::iterator \hyperlink{classSPL_1_1Array2_a6247aa57722b25962051fa0c0ae56f12}{Iterator}
\begin{DoxyCompactList}\small\item\em A mutable iterator for all elements in the array. \end{DoxyCompactList}\item 
typedef std\+::vector$<$ T $>$\+::const\+\_\+iterator \hyperlink{classSPL_1_1Array2_a6b912a087808d7180c2642543150954d}{Const\+Iterator}
\begin{DoxyCompactList}\small\item\em A constant iterator for all elements in the array. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2_a6247aa57722b25962051fa0c0ae56f12}{Iterator} \hyperlink{classSPL_1_1Array2_a9fbb39db8e40adf2b25acbe31697bcb7}{X\+Iterator}
\begin{DoxyCompactList}\small\item\em A mutable iterator for elements of a row in the array. \end{DoxyCompactList}\item 
typedef std\+::vector$<$ T $>$\+::const\+\_\+iterator \hyperlink{classSPL_1_1Array2_ac49323df271b7d1709e199d46a7bb2e9}{Const\+X\+Iterator}
\begin{DoxyCompactList}\small\item\em A constant iterator for elements of a row in the array. \end{DoxyCompactList}\item 
typedef Y\+Iter$<$ T $>$ \hyperlink{classSPL_1_1Array2_a69997176dbb9f35c4cf3235aa51907a0}{Y\+Iterator}
\begin{DoxyCompactList}\small\item\em A mutable iterator for elements of a column in the array. \end{DoxyCompactList}\item 
typedef Y\+Iter$<$ const T $>$ \hyperlink{classSPL_1_1Array2_ae6a0efa221e09c65e03eabf2d101bd93}{Const\+Y\+Iterator}
\begin{DoxyCompactList}\small\item\em A constant iterator for elements of a column in the array. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Array2_ga5aa618e7413e50d9973d1e27576fc6a1}{Array2} ()
\begin{DoxyCompactList}\small\item\em Create an empty array. \end{DoxyCompactList}\item 
\hyperlink{group__Array2_ga6a9941c3006d8f4b7a490c03e2142bd0}{Array2} (int width, int height)
\begin{DoxyCompactList}\small\item\em Create an array of the specified width and height. \end{DoxyCompactList}\item 
\hyperlink{group__Array2_gac1b3aff7eef8f3b9ddf610fe9849f6e1}{Array2} (int width, int height, const T \&value)
\begin{DoxyCompactList}\small\item\em Create an array of the specified width and height with the elements of the array initialized to the specified value. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Input\+Iter $>$ }\\\hyperlink{classSPL_1_1Array2_af4b4546f329797d0e428e9534ee0e824}{Array2} (int width, int height, Input\+Iter data)
\begin{DoxyCompactList}\small\item\em Create an array of the specified width and height with the elements of the array initialized to the specified data. \end{DoxyCompactList}\item 
\hyperlink{group__Array2_ga53c7bd94a738ceca2a2a84a1047f75d3}{$\sim$\+Array2} ()
\begin{DoxyCompactList}\small\item\em The destructor. \end{DoxyCompactList}\item 
\hyperlink{group__Array2_gadc13140f952c49805f65f47ac99f7ecf}{Array2} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em The copy constructor. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Other\+Type $>$ }\\\hyperlink{classSPL_1_1Array2_a06f49c9d9fe165c1e0974728fee51f51}{Array2} (const \hyperlink{classSPL_1_1Array2}{Array2}$<$ Other\+Type $>$ \&a)
\begin{DoxyCompactList}\small\item\em Create an array from an array having elements of a different type. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_ga8e9592670f587abe516077e5e5d13c6f}{operator=} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em The assignment operator. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Other\+Type $>$ }\\\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{classSPL_1_1Array2_a88bf0b614228aac2763c8032d6049ac7}{operator=} (const \hyperlink{classSPL_1_1Array2}{Array2}$<$ Other\+Type $>$ \&a)
\begin{DoxyCompactList}\small\item\em Assign another array with elements of a different type to this array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_ga0ca70d9b33c7e9f42b93654ce55075d5}{operator+=} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em Add another array (elementwise) to this array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_gad7346b63d940cd0c42732ca592adcf84}{operator-\/=} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em Subtract another array (elementwise) from this array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_gab60e933732788ffee4e26875c7deea18}{operator$\ast$=} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em Multiply another array (elementwise) by this array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_gad556a91f65834866afecd96208538b38}{operator/=} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em Divide this array (elementwise) by another array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_ga9a7f12edcdb663527750a2368a015ea4}{operator+=} (const T \&a)
\begin{DoxyCompactList}\small\item\em Add the specified value to each element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_ga18442527e81af8e08558b2a6067750d8}{operator-\/=} (const T \&a)
\begin{DoxyCompactList}\small\item\em Subtract the specified value from each element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_gaefa83167536db0054464ca68763b8433}{operator$\ast$=} (const T \&a)
\begin{DoxyCompactList}\small\item\em Multiply each element in the array by the specified value. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_ga56493ccb3e09343a5a8d4cbcfcb81561}{operator/=} (const T \&a)
\begin{DoxyCompactList}\small\item\em Divide each element in the array by the specified value. \end{DoxyCompactList}\item 
int \hyperlink{group__Array2_ga6a991a8f2930f9699458a277a85157b1}{get\+Width} () const 
\begin{DoxyCompactList}\small\item\em Get the width of the array. \end{DoxyCompactList}\item 
int \hyperlink{group__Array2_gad52b5442564d753206ae075e5c2cf494}{get\+Height} () const 
\begin{DoxyCompactList}\small\item\em Get the height of the array. \end{DoxyCompactList}\item 
int \hyperlink{group__Array2_ga9cbc2696ba458cad86f13223564efbb7}{get\+Size} () const 
\begin{DoxyCompactList}\small\item\em Get the number of elements in the array. \end{DoxyCompactList}\item 
bool \hyperlink{group__Array2_gab718f5755e2c3bdd3c2be4138cc664cb}{is\+Shared} () const 
\begin{DoxyCompactList}\small\item\em Is the data for this array shared with another array? \end{DoxyCompactList}\item 
bool \hyperlink{group__Array2_ga8ad5bb0e8c484ed311692b6c2616c6d5}{is\+Shared\+With} (const \hyperlink{classSPL_1_1Array2}{Array2} \&a) const 
\begin{DoxyCompactList}\small\item\em Is the data for this array shared with the specified array? \end{DoxyCompactList}\item 
T \& \hyperlink{group__Array2_ga4603104b12404c79b4975209d1a2b294}{operator()} (int x, int y)
\begin{DoxyCompactList}\small\item\em Get a mutable reference to the (x,y)-\/th element in the array. \end{DoxyCompactList}\item 
const T \& \hyperlink{group__Array2_gaf24d3c1c5fdd84b952eade392a6bf454}{operator()} (int x, int y) const 
\begin{DoxyCompactList}\small\item\em Get a const reference to the (x,y)-\/th element in the array. \end{DoxyCompactList}\item 
T \& \hyperlink{group__Array2_gac7f80e2b31d5374b8aab54393cd1e3a7}{operator()} (int i)
\begin{DoxyCompactList}\small\item\em Get a mutable reference to the i-\/th element in the array. \end{DoxyCompactList}\item 
const T \& \hyperlink{group__Array2_gafecb3babb6295a57d1dda54a1b3fa992}{operator()} (int i) const 
\begin{DoxyCompactList}\small\item\em Get a const reference to the i-\/th element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a6b912a087808d7180c2642543150954d}{Const\+Iterator} \hyperlink{group__Array2_gaa183dd4c4827989e5f26191ddcca645c}{begin} () const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for the first element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a6247aa57722b25962051fa0c0ae56f12}{Iterator} \hyperlink{group__Array2_ga13706fb6a876761c4fa6eab4e47b1c4c}{begin} ()
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for the first element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a6b912a087808d7180c2642543150954d}{Const\+Iterator} \hyperlink{group__Array2_ga255d2d66afb65f65e3168e32a26c6081}{end} () const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for one past the last element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a6247aa57722b25962051fa0c0ae56f12}{Iterator} \hyperlink{group__Array2_ga6d5424b6d2c1c779b23792cd8f73c1df}{end} ()
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for one past the last element in the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_ac49323df271b7d1709e199d46a7bb2e9}{Const\+X\+Iterator} \hyperlink{group__Array2_ga67f18134a71f46c738e4e7271966092f}{row\+Begin} (int y) const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for the first element in the specified row of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a9fbb39db8e40adf2b25acbe31697bcb7}{X\+Iterator} \hyperlink{group__Array2_gaae5efbd884e5bcc82b902fa5ee4a8530}{row\+Begin} (int y)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for the first element in the specified row of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_ac49323df271b7d1709e199d46a7bb2e9}{Const\+X\+Iterator} \hyperlink{group__Array2_ga1adf299cd4daf6fd99f31ca938388396}{row\+End} (int y) const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for one past the end in the specified row of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a9fbb39db8e40adf2b25acbe31697bcb7}{X\+Iterator} \hyperlink{group__Array2_ga1bbc2bd211a0b2e19e5503c0eedd6c7b}{row\+End} (int y)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for one past the end in the specified row of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_ae6a0efa221e09c65e03eabf2d101bd93}{Const\+Y\+Iterator} \hyperlink{group__Array2_ga627f171dad0df33b0f138a120d90231f}{col\+Begin} (int x) const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for the first element in the specified column of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a69997176dbb9f35c4cf3235aa51907a0}{Y\+Iterator} \hyperlink{group__Array2_ga56b7676d19820859f1032e1ed36195d0}{col\+Begin} (int x)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for the first element in the specified column of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_ae6a0efa221e09c65e03eabf2d101bd93}{Const\+Y\+Iterator} \hyperlink{group__Array2_gaba60eed8a2d10418e7733f9d931ec5ca}{col\+End} (int x) const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for one past the end in the specified column of the array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2_a69997176dbb9f35c4cf3235aa51907a0}{Y\+Iterator} \hyperlink{group__Array2_gad15f2e88d1d8d30b9f6d2cdc3e31deae}{col\+End} (int x)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for one past the end in the specified column of the array. \end{DoxyCompactList}\item 
void \hyperlink{group__Array2_ga5bc109710897b6bb57446f852973f419}{resize} (int width, int height)
\begin{DoxyCompactList}\small\item\em Change the size of the array. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Input\+Iterator $>$ }\\void \hyperlink{group__Array2_ga051660f1aade8ca8b7756bdb9d9b2f79}{resize} (int width, int height, Input\+Iterator data)
\begin{DoxyCompactList}\small\item\em Change the size of the array, initializing the resized array with the data obtained from the specified input iterator. \end{DoxyCompactList}\item 
T \hyperlink{group__Array2_gacb74e7435884ac2c04067ab7694d042d}{max} () const 
\begin{DoxyCompactList}\small\item\em Get the maximum of the elements in the array. \end{DoxyCompactList}\item 
T \hyperlink{group__Array2_ga25b27615badc4cfb5be99f37b8deb14b}{min} () const 
\begin{DoxyCompactList}\small\item\em Get the minimum of the elements in the array. \end{DoxyCompactList}\item 
T \hyperlink{group__Array2_ga1629bd05ae0942ea48280889107c0e0c}{sum} () const 
\begin{DoxyCompactList}\small\item\em Get the sum of the elements in the array. \end{DoxyCompactList}\item 
std\+::ostream \& \hyperlink{group__Array2_gaa2175ad44764fcf43b4d61ab5b71aab9}{output} (std\+::ostream \&out, int field\+Width) const 
\begin{DoxyCompactList}\small\item\em Output an array to a stream using the specified field width for each array element. \end{DoxyCompactList}\item 
int \hyperlink{group__Array2_ga3b3f27facc324043d11c24b867982bde}{load} (const char $\ast$file\+Name)
\begin{DoxyCompactList}\small\item\em Load an array from the file with the specified name. \end{DoxyCompactList}\item 
int \hyperlink{group__Array2_gae814cd75c4b73c7d6eaa9326f54ffd32}{save} (const char $\ast$file\+Name) const 
\begin{DoxyCompactList}\small\item\em Save an array to the file with the specified name. \end{DoxyCompactList}\item 
void \hyperlink{group__Array2_ga4da2ad7ec4d2842f19cf7e4cc7660d88}{fill} (const T \&value=T(0))
\begin{DoxyCompactList}\small\item\em Set all elements in the array to the specified value. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_ga8c3966edbb86ee145e8bee592cfe698c}{flipud} ()
\begin{DoxyCompactList}\small\item\em Flip the array upside down. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2} \& \hyperlink{group__Array2_gabb7990f7b7050f317111573854889ffb}{fliplr} ()
\begin{DoxyCompactList}\small\item\em Flip the array left to right. \end{DoxyCompactList}\item 
void \hyperlink{group__Array2_gaffc13232a2867e15760699ad77bec551}{swap} (\hyperlink{classSPL_1_1Array2}{Array2} \&a)
\begin{DoxyCompactList}\small\item\em Swap the array data with the data of the specified array. \end{DoxyCompactList}\item 
void \hyperlink{group__Array2_gae298672d183f466fa8697588d1f5e7f8}{dump} (std\+::ostream \&out) const 
\begin{DoxyCompactList}\small\item\em Output information about an array to a stream for debugging. \end{DoxyCompactList}\item 
void \hyperlink{group__Array2_ga3744ba5cddc2172f42da4875d160edfc}{unshare} () const 
\begin{DoxyCompactList}\small\item\em Force the underlying data to be copied if the data is shared. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class T$>$class S\+P\+L\+::\+Array2$<$ T $>$}

A two-\/dimensional array class with lazy copying and reference counting. 

\subsection{Member Typedef Documentation}
\hypertarget{classSPL_1_1Array2_a6b912a087808d7180c2642543150954d}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Const\+Iterator@{Const\+Iterator}}
\index{Const\+Iterator@{Const\+Iterator}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Const\+Iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef std\+::vector$<$T$>$\+::const\+\_\+iterator {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Const\+Iterator}}\label{classSPL_1_1Array2_a6b912a087808d7180c2642543150954d}


A constant iterator for all elements in the array. 

\hypertarget{classSPL_1_1Array2_ac49323df271b7d1709e199d46a7bb2e9}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Const\+X\+Iterator@{Const\+X\+Iterator}}
\index{Const\+X\+Iterator@{Const\+X\+Iterator}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Const\+X\+Iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef std\+::vector$<$T$>$\+::const\+\_\+iterator {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Const\+X\+Iterator}}\label{classSPL_1_1Array2_ac49323df271b7d1709e199d46a7bb2e9}


A constant iterator for elements of a row in the array. 

\hypertarget{classSPL_1_1Array2_ae6a0efa221e09c65e03eabf2d101bd93}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Const\+Y\+Iterator@{Const\+Y\+Iterator}}
\index{Const\+Y\+Iterator@{Const\+Y\+Iterator}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Const\+Y\+Iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef Y\+Iter$<$const T$>$ {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Const\+Y\+Iterator}}\label{classSPL_1_1Array2_ae6a0efa221e09c65e03eabf2d101bd93}


A constant iterator for elements of a column in the array. 

\hypertarget{classSPL_1_1Array2_ae3656eaba55c9ce394395a0816d2e6c5}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Elem\+Type@{Elem\+Type}}
\index{Elem\+Type@{Elem\+Type}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Elem\+Type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef T {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Elem\+Type}}\label{classSPL_1_1Array2_ae3656eaba55c9ce394395a0816d2e6c5}


The type of the elements in the array. 

\hypertarget{classSPL_1_1Array2_a6247aa57722b25962051fa0c0ae56f12}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Iterator@{Iterator}}
\index{Iterator@{Iterator}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef std\+::vector$<$T$>$\+::iterator {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Iterator}}\label{classSPL_1_1Array2_a6247aa57722b25962051fa0c0ae56f12}


A mutable iterator for all elements in the array. 

\hypertarget{classSPL_1_1Array2_a9fbb39db8e40adf2b25acbe31697bcb7}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!X\+Iterator@{X\+Iterator}}
\index{X\+Iterator@{X\+Iterator}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{X\+Iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef {\bf Iterator} {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf X\+Iterator}}\label{classSPL_1_1Array2_a9fbb39db8e40adf2b25acbe31697bcb7}


A mutable iterator for elements of a row in the array. 

\hypertarget{classSPL_1_1Array2_a69997176dbb9f35c4cf3235aa51907a0}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Y\+Iterator@{Y\+Iterator}}
\index{Y\+Iterator@{Y\+Iterator}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Y\+Iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ typedef Y\+Iter$<$T$>$ {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Y\+Iterator}}\label{classSPL_1_1Array2_a69997176dbb9f35c4cf3235aa51907a0}


A mutable iterator for elements of a column in the array. 



\subsection{Constructor \& Destructor Documentation}
\hypertarget{classSPL_1_1Array2_af4b4546f329797d0e428e9534ee0e824}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Array2@{Array2}}
\index{Array2@{Array2}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Array2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ template$<$class Input\+Iter $>$ {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Array2} (
\begin{DoxyParamCaption}
\item[{int}]{width, }
\item[{int}]{height, }
\item[{Input\+Iter}]{data}
\end{DoxyParamCaption}
)}\label{classSPL_1_1Array2_af4b4546f329797d0e428e9534ee0e824}


Create an array of the specified width and height with the elements of the array initialized to the specified data. 

\hypertarget{classSPL_1_1Array2_a06f49c9d9fe165c1e0974728fee51f51}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!Array2@{Array2}}
\index{Array2@{Array2}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{Array2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ template$<$class Other\+Type $>$ {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::{\bf Array2} (
\begin{DoxyParamCaption}
\item[{const {\bf Array2}$<$ Other\+Type $>$ \&}]{a}
\end{DoxyParamCaption}
)}\label{classSPL_1_1Array2_a06f49c9d9fe165c1e0974728fee51f51}


Create an array from an array having elements of a different type. 



\subsection{Member Function Documentation}
\hypertarget{classSPL_1_1Array2_a88bf0b614228aac2763c8032d6049ac7}{}\index{S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}!operator=@{operator=}}
\index{operator=@{operator=}!S\+P\+L\+::\+Array2@{S\+P\+L\+::\+Array2}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ template$<$class Other\+Type $>$ {\bf Array2}\& {\bf S\+P\+L\+::\+Array2}$<$ T $>$\+::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf Array2}$<$ Other\+Type $>$ \&}]{a}
\end{DoxyParamCaption}
)}\label{classSPL_1_1Array2_a88bf0b614228aac2763c8032d6049ac7}


Assign another array with elements of a different type to this array. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{Array2_8hpp}{Array2.\+hpp}\end{DoxyCompactItemize}
