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


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




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef T \hyperlink{classSPL_1_1Sequence2_aec3fd11f6c914ff9b1bd07cdb54c5ee7}{Elem\+Type}
\begin{DoxyCompactList}\small\item\em The type of the element in the sequence. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$\+::\hyperlink{classSPL_1_1Sequence2_a871bafa9e64119528234b7af6eeb8599}{Const\+Iterator} \hyperlink{classSPL_1_1Sequence2_a871bafa9e64119528234b7af6eeb8599}{Const\+Iterator}
\begin{DoxyCompactList}\small\item\em The const iterator for all elements in the sequence. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$\+::\hyperlink{classSPL_1_1Sequence2_ad6e40cdce6c262bb800b37f1f65abe7d}{Iterator} \hyperlink{classSPL_1_1Sequence2_ad6e40cdce6c262bb800b37f1f65abe7d}{Iterator}
\begin{DoxyCompactList}\small\item\em The mutable iterator for all elements in the sequence. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$\+::\hyperlink{classSPL_1_1Sequence2_ab45b286efa5b5e543d141c7378763dab}{Const\+X\+Iterator} \hyperlink{classSPL_1_1Sequence2_ab45b286efa5b5e543d141c7378763dab}{Const\+X\+Iterator}
\begin{DoxyCompactList}\small\item\em The const iterator for the elements in a row of the sequence. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$\+::\hyperlink{classSPL_1_1Sequence2_afd7c11eb943c1796e66205ccd109f4ed}{X\+Iterator} \hyperlink{classSPL_1_1Sequence2_afd7c11eb943c1796e66205ccd109f4ed}{X\+Iterator}
\begin{DoxyCompactList}\small\item\em The mutable iterator for the elements in a row of the sequence. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$\+::\hyperlink{classSPL_1_1Sequence2_ae2a442b0ae32df7c2235a9dfc094cf79}{Const\+Y\+Iterator} \hyperlink{classSPL_1_1Sequence2_ae2a442b0ae32df7c2235a9dfc094cf79}{Const\+Y\+Iterator}
\begin{DoxyCompactList}\small\item\em The const iterator for the elements in a column of the sequence. \end{DoxyCompactList}\item 
typedef \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$\+::\hyperlink{classSPL_1_1Sequence2_a741e1034fe16bce2e0e4501e550c9c03}{Y\+Iterator} \hyperlink{classSPL_1_1Sequence2_a741e1034fe16bce2e0e4501e550c9c03}{Y\+Iterator}
\begin{DoxyCompactList}\small\item\em The mutable iterator for the elements in a column of the sequence. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Sequence2_ga411c32aee2b592ce65b3808a428a7fce}{Sequence2} ()
\begin{DoxyCompactList}\small\item\em The default constructor. \end{DoxyCompactList}\item 
\hyperlink{group__Sequence2_ga3475510027d87d4e47da4c02526f6ddd}{Sequence2} (int start\+X, int start\+Y, int width, int height)
\begin{DoxyCompactList}\small\item\em Construct a sequence with the specified start index and size. \end{DoxyCompactList}\item 
\hyperlink{group__Sequence2_ga1dc74ce75df45f30b74fd0508b8e590e}{Sequence2} (int start\+X, int start\+Y, int width, int height, const T \&data)
\begin{DoxyCompactList}\small\item\em Construct a sequence with the specified start index and size, with all elements set to the given value. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Input\+Iterator $>$ }\\\hyperlink{classSPL_1_1Sequence2_afd03200ee9b2c977b68c3034920c91f8}{Sequence2} (int start\+X, int start\+Y, int width, int height, Input\+Iterator data)
\begin{DoxyCompactList}\small\item\em Construct a sequence with the specified start index and size, with the elements initialized to the data read from the given iterator. \end{DoxyCompactList}\item 
\hyperlink{group__Sequence2_ga0963307482f77b64e00ae33e0b9e0bfb}{Sequence2} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2} \&f)
\begin{DoxyCompactList}\small\item\em The copy constructor. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Other\+T $>$ }\\\hyperlink{classSPL_1_1Sequence2_a4e2c5daf0b793eb0ea6c0366cb1f2170}{Sequence2} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2}$<$ Other\+T $>$ \&f)
\begin{DoxyCompactList}\small\item\em Create a sequence from another sequence having elements of a different type. \end{DoxyCompactList}\item 
\hyperlink{group__Sequence2_ga23d4612629701bf0925f1c6c240c28d5}{Sequence2} (const \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$ \&data)
\begin{DoxyCompactList}\small\item\em Create a sequence from an array. \end{DoxyCompactList}\item 
\hyperlink{group__Sequence2_ga732f0554ced84b7f1f7c9a773d49e940}{Sequence2} (int start\+X, int start\+Y, const \hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$ \&data)
\begin{DoxyCompactList}\small\item\em Create a sequence from an array using the given starting index. \end{DoxyCompactList}\item 
\hyperlink{group__Sequence2_gabd5ba258a8d38afa049e5535dcbe13a2}{$\sim$\+Sequence2} ()
\begin{DoxyCompactList}\small\item\em The destructor. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_ga3e88973b075edb183a6db7ac8381ed22}{operator=} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2} \&f)
\begin{DoxyCompactList}\small\item\em The assignment operator. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Other\+T $>$ }\\\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{classSPL_1_1Sequence2_ad2c89d4add8387daffdab01d45850722}{operator=} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2}$<$ Other\+T $>$ \&f)
\begin{DoxyCompactList}\small\item\em Assign another sequence with elements of a different type to this sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_ga75c5a53836d136ce8ab11f11ba790b9c}{operator+=} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2} \&f)
\begin{DoxyCompactList}\small\item\em Add another sequence to this one. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_ga4b3554546d3e76842bc31ff5007bf925}{operator-\/=} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2} \&f)
\begin{DoxyCompactList}\small\item\em Subtract another sequence from this one. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_gad82a2447753c02daa8ac12afb1937a0f}{operator$\ast$=} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2} \&f)
\begin{DoxyCompactList}\small\item\em Multiply elementwise this sequence by another one. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_ga93a2c0fc27f901aae5283d1beb75bc36}{operator/=} (const \hyperlink{classSPL_1_1Sequence2}{Sequence2} \&f)
\begin{DoxyCompactList}\small\item\em Divide elementwise this sequence by another one. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_gaf29d4181ed4ade7fab053d00d14ffdb8}{operator+=} (const T \&value)
\begin{DoxyCompactList}\small\item\em Add a value to each element of this sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_gad81baf0b306310ca3451004a6de80622}{operator-\/=} (const T \&value)
\begin{DoxyCompactList}\small\item\em Subtract a value from each element of this sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_ga3fc02f4795075029f1821e2012592c42}{operator$\ast$=} (const T \&value)
\begin{DoxyCompactList}\small\item\em Multiply each element of this sequence by the specified value. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_gab7da1b9422092d6069fffdb728edea20}{operator/=} (const T \&value)
\begin{DoxyCompactList}\small\item\em Divide each element of the sequence by the given value. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_gae771df9c1e658133051a8707145a782d}{get\+Start\+X} () const 
\begin{DoxyCompactList}\small\item\em Get the x-\/coordinate of the start index for the sequence. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_gafaaba5cc58e73b5e93dd59f693deeb75}{get\+Start\+Y} () const 
\begin{DoxyCompactList}\small\item\em Get the y-\/coordinate of the start index for the sequence. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_gadec1485ee5d5e0c0ac3fa0041e08fdb8}{get\+End\+X} () const 
\begin{DoxyCompactList}\small\item\em Get the x-\/coordinate of the end index for the sequence. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_gaca82e53ffc53f769b0a6d59a90fe49be}{get\+End\+Y} () const 
\begin{DoxyCompactList}\small\item\em Get the y-\/coordinate of the end index for the sequence. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_gae3d96e842d396e7443dfc81993593a1f}{get\+Width} () const 
\begin{DoxyCompactList}\small\item\em Get the width of the sequence. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_ga8fe04a064ecf966a6ec0ae0168601212}{get\+Height} () const 
\begin{DoxyCompactList}\small\item\em Get the height of the sequence. \end{DoxyCompactList}\item 
int \hyperlink{group__Sequence2_ga9542d90d79093f7b9f4bd6bc98ecd161}{get\+Size} () const 
\begin{DoxyCompactList}\small\item\em Get the number of elements in the sequence. \end{DoxyCompactList}\item 
bool \hyperlink{group__Sequence2_ga8026435827b8b359f02abd8774971ba4}{is\+Shared} () const 
\begin{DoxyCompactList}\small\item\em Is the array for this sequence shared with another array? \end{DoxyCompactList}\item 
T \& \hyperlink{group__Sequence2_gaa33dfae801cc4cc0b18934883d0ff62c}{operator()} (int x, int y)
\begin{DoxyCompactList}\small\item\em Get a mutable reference to the specified element in the sequence. \end{DoxyCompactList}\item 
const T \& \hyperlink{group__Sequence2_ga473781859f4e467c7267ca32f001171a}{operator()} (int x, int y) const 
\begin{DoxyCompactList}\small\item\em Get a const reference to the specified element in the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_a871bafa9e64119528234b7af6eeb8599}{Const\+Iterator} \hyperlink{group__Sequence2_ga2aa0db7d37ffc87f895509231c45e4dd}{begin} () const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for the first element in the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_ad6e40cdce6c262bb800b37f1f65abe7d}{Iterator} \hyperlink{group__Sequence2_gaf202d1bafe1398c75bc2afa6fc860c0d}{begin} ()
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for the first element in the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_a871bafa9e64119528234b7af6eeb8599}{Const\+Iterator} \hyperlink{group__Sequence2_gac274430833129454ce47928e1309ae61}{end} () const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for one past the last element in the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_ad6e40cdce6c262bb800b37f1f65abe7d}{Iterator} \hyperlink{group__Sequence2_ga7e6e35ab839623399db33da0e83de8c8}{end} ()
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for one past the last element in the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_ab45b286efa5b5e543d141c7378763dab}{Const\+X\+Iterator} \hyperlink{group__Sequence2_ga9939515e4f0703626474a5939de49f50}{row\+Begin} (int y) const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for the first element in the specified row of the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_afd7c11eb943c1796e66205ccd109f4ed}{X\+Iterator} \hyperlink{group__Sequence2_ga36f8640081e7ad104859838a55209fe2}{row\+Begin} (int y)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for the first element in the specified row of the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_ab45b286efa5b5e543d141c7378763dab}{Const\+X\+Iterator} \hyperlink{group__Sequence2_ga910c7072968eaba96479f302dca526be}{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 sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_afd7c11eb943c1796e66205ccd109f4ed}{X\+Iterator} \hyperlink{group__Sequence2_gad699fc2f1634680c07feb3eee379f25c}{row\+End} (int y)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for one past the end in the specified row of the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_ae2a442b0ae32df7c2235a9dfc094cf79}{Const\+Y\+Iterator} \hyperlink{group__Sequence2_ga304d93052861b3452746e04ada508da3}{col\+Begin} (int x) const 
\begin{DoxyCompactList}\small\item\em Get a const iterator for the first element in the specified column of the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_a741e1034fe16bce2e0e4501e550c9c03}{Y\+Iterator} \hyperlink{group__Sequence2_gae4ce9d092029e695561dc3f0c79a4f9b}{col\+Begin} (int x)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for the first element in the specified column of the sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_ae2a442b0ae32df7c2235a9dfc094cf79}{Const\+Y\+Iterator} \hyperlink{group__Sequence2_gac3755c084c8a81b7cb2baa76d991c9e1}{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 sequence. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2_a741e1034fe16bce2e0e4501e550c9c03}{Y\+Iterator} \hyperlink{group__Sequence2_ga0b5f5626b77b8917b5f79cf9b37a5a60}{col\+End} (int x)
\begin{DoxyCompactList}\small\item\em Get a mutable iterator for one past the end in the specified column of the sequence. \end{DoxyCompactList}\item 
T \hyperlink{group__Sequence2_ga6b7857ccb5a6331e68879f4fbcbbf7eb}{min} () const 
\begin{DoxyCompactList}\small\item\em Get the minimum element in the sequence. \end{DoxyCompactList}\item 
T \hyperlink{group__Sequence2_ga57d8cde180816f0ff0dff07994c48a07}{max} () const 
\begin{DoxyCompactList}\small\item\em Get the maximum element in the sequence. \end{DoxyCompactList}\item 
T \hyperlink{group__Sequence2_ga6df9eb203b06e73f0e94b30afef3cf92}{sum} () const 
\begin{DoxyCompactList}\small\item\em Get the sum of the elements in the sequence. \end{DoxyCompactList}\item 
std\+::ostream \& \hyperlink{group__Sequence2_ga78130781136381659a665fcfab25821f}{output} (std\+::ostream \&out, int field\+Width) const 
\begin{DoxyCompactList}\small\item\em Output a sequence to the specified stream using the given field width for each sequence element. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$ \hyperlink{group__Sequence2_gabf1922e2e32e1e9b56a4266a34f258d1}{get\+Array} () const 
\begin{DoxyCompactList}\small\item\em Get a copy of the underlying array. \end{DoxyCompactList}\item 
void \hyperlink{group__Sequence2_gae3419d9d5d30e363c0214198ad6701ae}{swap\+Array} (\hyperlink{classSPL_1_1Array2}{Array2}$<$ T $>$ \&data)
\begin{DoxyCompactList}\small\item\em Swap the data for the underlying array and the specified array. \end{DoxyCompactList}\item 
void \hyperlink{group__Sequence2_ga02d5cbae8fcada97c5515dfc64bb5bac}{fill} (const T \&value)
\begin{DoxyCompactList}\small\item\em Get a copy of the underlying array. \end{DoxyCompactList}\item 
\hyperlink{classSPL_1_1Sequence2}{Sequence2} \& \hyperlink{group__Sequence2_ga09b519eadc6f32a856b0eabb9becee13}{translate} (int x, int y)
\begin{DoxyCompactList}\small\item\em Translate (i.\+e., shift) a sequence by the specified displacement. \end{DoxyCompactList}\end{DoxyCompactItemize}


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

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

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


The const iterator for all elements in the sequence. 

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


The const iterator for the elements in a row of the sequence. 

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


The const iterator for the elements in a column of the sequence. 

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


The type of the element in the sequence. 

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


The mutable iterator for all elements in the sequence. 

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


The mutable iterator for the elements in a row of the sequence. 

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


The mutable iterator for the elements in a column of the sequence. 



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


Construct a sequence with the specified start index and size, with the elements initialized to the data read from the given iterator. 

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


Create a sequence from another sequence having elements of a different type. 



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


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

The type Other\+T must be assignable to the type T. 

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