\hypertarget{a00442}{
\section{mln::w\_\-window$<$ D, W $>$ Struct Template Reference}
\label{db/d34/a00442}\index{mln::w\_\-window@{mln::w\_\-window}}
}


Generic \hyperlink{a00442}{w\_\-window} class.  




{\ttfamily \#include $<$w\_\-window.hh$>$}



Inherits weighted\_\-window\_\-base$<$ mln::window$<$ D $>$, w\_\-window$<$ D, W $>$ $>$.

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef with\_\-w\_\-$<$ \hyperlink{a00181}{dpsites\_\-bkd\_\-piter}$<$ \hyperlink{a00442}{w\_\-window}$<$ D, W $>$ $>$, W $>$ \hyperlink{a00442_a54e2100372a08c46ab7ab082171a575e}{bkd\_\-qiter}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00345}{Site\_\-Iterator} type to browse (backward) the points of a generic \hyperlink{a00442}{w\_\-window}. \item\end{DoxyCompactList}\item 
typedef D \hyperlink{a00442_a959d32b3ef3311cce823efcb30f6a979}{dpsite}
\begin{DoxyCompactList}\small\item\em Dpsite associated type. \item\end{DoxyCompactList}\item 
typedef with\_\-w\_\-$<$ \hyperlink{a00182}{dpsites\_\-fwd\_\-piter}$<$ \hyperlink{a00442}{w\_\-window}$<$ D, W $>$ $>$, W $>$ \hyperlink{a00442_ae38eadac62cad30511c48168f1d4bef6}{fwd\_\-qiter}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00345}{Site\_\-Iterator} type to browse (forward) the points of a generic \hyperlink{a00442}{w\_\-window}. \item\end{DoxyCompactList}\item 
typedef W \hyperlink{a00442_afa10f1be4173c6a4a04cf2e26e7698b3}{weight}
\begin{DoxyCompactList}\small\item\em Weight associated type. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00442_aab0253ce93e1cfe08cc7e0df573395e5}{clear} ()
\begin{DoxyCompactList}\small\item\em Clear this window. \item\end{DoxyCompactList}\item 
\hyperlink{a00442}{w\_\-window}$<$ D, W $>$ \& \hyperlink{a00442_af9f3992a81c425b19dba340f4365128d}{insert} (const W \&w, const D \&d)
\begin{DoxyCompactList}\small\item\em Insert a couple of weight {\ttfamily w} and delta-\/point {\ttfamily d}. \item\end{DoxyCompactList}\item 
bool \hyperlink{a00442_abd49535376b6bf1dddccec21aa9eea9f}{is\_\-symmetric} () const 
\begin{DoxyCompactList}\small\item\em Test if the window is symmetric. \item\end{DoxyCompactList}\item 
const std::vector$<$ D $>$ \& \hyperlink{a00442_af4d70f27e92fa69d869aafee1532f7c2}{std\_\-vector} () const 
\begin{DoxyCompactList}\small\item\em Give access to the vector of delta-\/points. \item\end{DoxyCompactList}\item 
void \hyperlink{a00442_ad687817f0363aeb28085db3f656663ec}{sym} ()
\begin{DoxyCompactList}\small\item\em Apply a central symmetry to the window. \item\end{DoxyCompactList}\item 
W \hyperlink{a00442_a343e87b2a86830e7a225b9dc924a390e}{w} (unsigned i) const 
\begin{DoxyCompactList}\small\item\em Give the {\ttfamily i-\/th} weight. \item\end{DoxyCompactList}\item 
\hyperlink{a00442_ac45d0d639ef2d1c06fab2a294c446a4b}{w\_\-window} ()
\begin{DoxyCompactList}\small\item\em Constructor without argument. \item\end{DoxyCompactList}\item 
const std::vector$<$ W $>$ \& \hyperlink{a00442_a5db489966edea7d524f8b19c5f71bd33}{weights} () const 
\begin{DoxyCompactList}\small\item\em Give access to the vector of weights. \item\end{DoxyCompactList}\item 
const \hyperlink{a00455}{mln::window}$<$ D $>$ \& \hyperlink{a00442_a993b82e4b263c7584ff7a77972f4cd0e}{win} () const 
\begin{DoxyCompactList}\small\item\em Give the corresponding window. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Related Functions}
(Note that these are not member functions.) \begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename D , typename W $>$ }\\std::ostream \& \hyperlink{a00442_ad73109bd8a7056528759da59b6afe552}{operator$<$$<$} (std::ostream \&ostr, const \hyperlink{a00442}{w\_\-window}$<$ D, W $>$ \&w\_\-win)
\begin{DoxyCompactList}\small\item\em Print a weighted window {\ttfamily w\_\-win} into an output stream {\ttfamily ostr}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename D , typename Wl , typename Wr $>$ }\\bool \hyperlink{a00442_a45b010cf6081d68cb6f4df8ed9af965b}{operator==} (const \hyperlink{a00442}{w\_\-window}$<$ D, Wl $>$ \&lhs, const \hyperlink{a00442}{w\_\-window}$<$ D, Wr $>$ \&rhs)
\begin{DoxyCompactList}\small\item\em Equality test between two weighted windows {\ttfamily lhs} and {\ttfamily rhs}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename D, typename W$>$ struct mln::w\_\-window$<$ D, W $>$}

Generic \hyperlink{a00442}{w\_\-window} class. This type of \hyperlink{a00442}{w\_\-window} is just like a set of delta-\/points. The parameter {\ttfamily D} is the type of delta-\/points; the parameter {\ttfamily W} is the type of weights. 

Definition at line 100 of file core/w\_\-window.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00442_a54e2100372a08c46ab7ab082171a575e}{
\index{mln::w\_\-window@{mln::w\_\-window}!bkd\_\-qiter@{bkd\_\-qiter}}
\index{bkd\_\-qiter@{bkd\_\-qiter}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{bkd\_\-qiter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D, typename W$>$ typedef with\_\-w\_\-$<$ {\bf dpsites\_\-bkd\_\-piter}$<$ {\bf w\_\-window}$<$D, W$>$ $>$, W $>$ {\bf mln::w\_\-window}$<$ D, W $>$::{\bf bkd\_\-qiter}}}
\label{db/d34/a00442_a54e2100372a08c46ab7ab082171a575e}


\hyperlink{a00345}{Site\_\-Iterator} type to browse (backward) the points of a generic \hyperlink{a00442}{w\_\-window}. 



Definition at line 114 of file core/w\_\-window.hh.

\hypertarget{a00442_a959d32b3ef3311cce823efcb30f6a979}{
\index{mln::w\_\-window@{mln::w\_\-window}!dpsite@{dpsite}}
\index{dpsite@{dpsite}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{dpsite}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D, typename W$>$ typedef D {\bf mln::w\_\-window}$<$ D, W $>$::{\bf dpsite}}}
\label{db/d34/a00442_a959d32b3ef3311cce823efcb30f6a979}


Dpsite associated type. 



Definition at line 104 of file core/w\_\-window.hh.

\hypertarget{a00442_ae38eadac62cad30511c48168f1d4bef6}{
\index{mln::w\_\-window@{mln::w\_\-window}!fwd\_\-qiter@{fwd\_\-qiter}}
\index{fwd\_\-qiter@{fwd\_\-qiter}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{fwd\_\-qiter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D, typename W$>$ typedef with\_\-w\_\-$<$ {\bf dpsites\_\-fwd\_\-piter}$<$ {\bf w\_\-window}$<$D, W$>$ $>$, W $>$ {\bf mln::w\_\-window}$<$ D, W $>$::{\bf fwd\_\-qiter}}}
\label{db/d34/a00442_ae38eadac62cad30511c48168f1d4bef6}


\hyperlink{a00345}{Site\_\-Iterator} type to browse (forward) the points of a generic \hyperlink{a00442}{w\_\-window}. 



Definition at line 111 of file core/w\_\-window.hh.

\hypertarget{a00442_afa10f1be4173c6a4a04cf2e26e7698b3}{
\index{mln::w\_\-window@{mln::w\_\-window}!weight@{weight}}
\index{weight@{weight}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{weight}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D, typename W$>$ typedef W {\bf mln::w\_\-window}$<$ D, W $>$::{\bf weight}}}
\label{db/d34/a00442_afa10f1be4173c6a4a04cf2e26e7698b3}


Weight associated type. 



Definition at line 107 of file core/w\_\-window.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00442_ac45d0d639ef2d1c06fab2a294c446a4b}{
\index{mln::w\_\-window@{mln::w\_\-window}!w\_\-window@{w\_\-window}}
\index{w\_\-window@{w\_\-window}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{w\_\-window}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ {\bf mln::w\_\-window}$<$ D, W $>$::{\bf w\_\-window} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_ac45d0d639ef2d1c06fab2a294c446a4b}


Constructor without argument. 



Definition at line 213 of file core/w\_\-window.hh.



\subsection{Member Function Documentation}
\hypertarget{a00442_aab0253ce93e1cfe08cc7e0df573395e5}{
\index{mln::w\_\-window@{mln::w\_\-window}!clear@{clear}}
\index{clear@{clear}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ void {\bf mln::w\_\-window}$<$ D, W $>$::clear (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_aab0253ce93e1cfe08cc7e0df573395e5}


Clear this window. 



Definition at line 308 of file core/w\_\-window.hh.

\hypertarget{a00442_af9f3992a81c425b19dba340f4365128d}{
\index{mln::w\_\-window@{mln::w\_\-window}!insert@{insert}}
\index{insert@{insert}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ {\bf w\_\-window}$<$ D, W $>$ \& {\bf mln::w\_\-window}$<$ D, W $>$::insert (
\begin{DoxyParamCaption}
\item[{const W \&}]{ w, }
\item[{const D \&}]{ d}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_af9f3992a81c425b19dba340f4365128d}


Insert a couple of weight {\ttfamily w} and delta-\/point {\ttfamily d}. 



Definition at line 254 of file core/w\_\-window.hh.



Referenced by mln::w\_\-window$<$ D, W $>$::sym(), mln::make::w\_\-window(), mln::make::w\_\-window1d(), mln::make::w\_\-window3d(), and mln::make::w\_\-window\_\-directional().

\hypertarget{a00442_abd49535376b6bf1dddccec21aa9eea9f}{
\index{mln::w\_\-window@{mln::w\_\-window}!is\_\-symmetric@{is\_\-symmetric}}
\index{is\_\-symmetric@{is\_\-symmetric}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{is\_\-symmetric}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ bool {\bf mln::w\_\-window}$<$ D, W $>$::is\_\-symmetric (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_abd49535376b6bf1dddccec21aa9eea9f}


Test if the window is symmetric. 



Definition at line 284 of file core/w\_\-window.hh.



References mln::w\_\-window$<$ D, W $>$::sym().

\hypertarget{a00442_af4d70f27e92fa69d869aafee1532f7c2}{
\index{mln::w\_\-window@{mln::w\_\-window}!std\_\-vector@{std\_\-vector}}
\index{std\_\-vector@{std\_\-vector}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{std\_\-vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ const std::vector$<$ D $>$ \& {\bf mln::w\_\-window}$<$ D, W $>$::std\_\-vector (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_af4d70f27e92fa69d869aafee1532f7c2}


Give access to the vector of delta-\/points. 



Definition at line 228 of file core/w\_\-window.hh.

\hypertarget{a00442_ad687817f0363aeb28085db3f656663ec}{
\index{mln::w\_\-window@{mln::w\_\-window}!sym@{sym}}
\index{sym@{sym}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{sym}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ void {\bf mln::w\_\-window}$<$ D, W $>$::sym (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_ad687817f0363aeb28085db3f656663ec}


Apply a central symmetry to the window. 



Definition at line 296 of file core/w\_\-window.hh.



References mln::w\_\-window$<$ D, W $>$::insert().



Referenced by mln::w\_\-window$<$ D, W $>$::is\_\-symmetric().

\hypertarget{a00442_a343e87b2a86830e7a225b9dc924a390e}{
\index{mln::w\_\-window@{mln::w\_\-window}!w@{w}}
\index{w@{w}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{w}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ W {\bf mln::w\_\-window}$<$ D, W $>$::w (
\begin{DoxyParamCaption}
\item[{unsigned}]{ i}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_a343e87b2a86830e7a225b9dc924a390e}


Give the {\ttfamily i-\/th} weight. 



Definition at line 244 of file core/w\_\-window.hh.

\hypertarget{a00442_a5db489966edea7d524f8b19c5f71bd33}{
\index{mln::w\_\-window@{mln::w\_\-window}!weights@{weights}}
\index{weights@{weights}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{weights}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ const std::vector$<$ W $>$ \& {\bf mln::w\_\-window}$<$ D, W $>$::weights (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_a5db489966edea7d524f8b19c5f71bd33}


Give access to the vector of weights. 



Definition at line 236 of file core/w\_\-window.hh.



Referenced by mln::w\_\-window$<$ D, W $>$::operator==().

\hypertarget{a00442_a993b82e4b263c7584ff7a77972f4cd0e}{
\index{mln::w\_\-window@{mln::w\_\-window}!win@{win}}
\index{win@{win}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{win}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ const {\bf mln::window}$<$ D $>$ \& {\bf mln::w\_\-window}$<$ D, W $>$::win (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d34/a00442_a993b82e4b263c7584ff7a77972f4cd0e}


Give the corresponding window. 



Definition at line 220 of file core/w\_\-window.hh.



Referenced by mln::w\_\-window$<$ D, W $>$::operator==().



\subsection{Friends And Related Function Documentation}
\hypertarget{a00442_ad73109bd8a7056528759da59b6afe552}{
\index{mln::w\_\-window@{mln::w\_\-window}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename W $>$ std::ostream \& operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std::ostream \&}]{ ostr, }
\item[{const {\bf w\_\-window}$<$ D, W $>$ \&}]{ w\_\-win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}related\mbox{]}}}}
\label{db/d34/a00442_ad73109bd8a7056528759da59b6afe552}


Print a weighted window {\ttfamily w\_\-win} into an output stream {\ttfamily ostr}. 



Definition at line 420 of file core/w\_\-window.hh.

\hypertarget{a00442_a45b010cf6081d68cb6f4df8ed9af965b}{
\index{mln::w\_\-window@{mln::w\_\-window}!operator==@{operator==}}
\index{operator==@{operator==}!mln::w_window@{mln::w\_\-window}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D , typename Wl , typename Wr $>$ bool operator== (
\begin{DoxyParamCaption}
\item[{const {\bf w\_\-window}$<$ D, Wl $>$ \&}]{ lhs, }
\item[{const {\bf w\_\-window}$<$ D, Wr $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}related\mbox{]}}}}
\label{db/d34/a00442_a45b010cf6081d68cb6f4df8ed9af965b}


Equality test between two weighted windows {\ttfamily lhs} and {\ttfamily rhs}. 



Definition at line 430 of file core/w\_\-window.hh.



References mln::w\_\-window$<$ D, W $>$::weights(), and mln::w\_\-window$<$ D, W $>$::win().

