\hypertarget{a02646}{
\section{mln::logical Namespace Reference}
\label{d3/d23/a02646}\index{mln::logical@{mln::logical}}
}


Namespace of logic.  


\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \hyperlink{a02647}{impl}


\begin{DoxyCompactList}\small\item\em Implementation namespace of logical namespace. \item\end{DoxyCompactList}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename L , typename R $>$ }\\void \hyperlink{a02646_aba653ad03b118588b6e84d304882df8a}{and\_\-inplace} (\hyperlink{a00044}{Image}$<$ L $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ R $>$ \&rhs)
\item 
{\footnotesize template$<$typename L , typename R $>$ }\\mln::trait::ch\_\-value$<$ L, typename \hyperlink{a00216}{mln::fun::vv2v::land\_\-not}$<$ typename L::value, typename R::value $>$::result $>$::ret \hyperlink{a02646_a18316f2a3130240b773da9cf58058d15}{and\_\-not} (const \hyperlink{a00044}{Image}$<$ L $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ R $>$ \&rhs)
\item 
{\footnotesize template$<$typename L , typename R $>$ }\\void \hyperlink{a02646_a6c63c9be4dd66babec3999472085f23f}{and\_\-not\_\-inplace} (\hyperlink{a00044}{Image}$<$ L $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ R $>$ \&rhs)
\item 
{\footnotesize template$<$typename I $>$ }\\void \hyperlink{a02646_a05cc0a58c2a0149f152344dbe09afb64}{not\_\-inplace} (\hyperlink{a00044}{Image}$<$ I $>$ \&input)
\item 
{\footnotesize template$<$typename L , typename R $>$ }\\void \hyperlink{a02646_ad2e09ef86504b36ab84eed9935cb7f47}{or\_\-inplace} (\hyperlink{a00044}{Image}$<$ L $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ R $>$ \&rhs)
\item 
{\footnotesize template$<$typename L , typename R $>$ }\\void \hyperlink{a02646_a80aab0837aa7c07b8beb92613a58f10b}{xor\_\-inplace} (\hyperlink{a00044}{Image}$<$ L $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ R $>$ \&rhs)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Namespace of logic. 

\subsection{Function Documentation}
\hypertarget{a02646_aba653ad03b118588b6e84d304882df8a}{
\index{mln::logical@{mln::logical}!and\_\-inplace@{and\_\-inplace}}
\index{and\_\-inplace@{and\_\-inplace}!mln::logical@{mln::logical}}
\subsubsection[{and\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename R $>$ void mln::logical::and\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ L $>$ \&}]{ lhs, }
\item[{const Image$<$ R $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d3/d23/a02646_aba653ad03b118588b6e84d304882df8a}
Point-\/wise in-\/place \char`\"{}logical and\char`\"{} of image {\ttfamily rhs} in image {\ttfamily lhs}.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em lhs}]First operand image. \item[\mbox{\tt[in]} {\em rhs}]Second operand image.\end{DoxyParams}
It performs: \par
 for all p of rhs.domain \par
 lhs(p) = lhs(p) and rhs(p)

\begin{DoxyPrecond}{Precondition}
{\ttfamily rhs.domain} $>$= {\ttfamily lhs.domain} 
\end{DoxyPrecond}


Definition at line 91 of file logical/and.hh.



References mln::data::transform\_\-inplace().

\hypertarget{a02646_a18316f2a3130240b773da9cf58058d15}{
\index{mln::logical@{mln::logical}!and\_\-not@{and\_\-not}}
\index{and\_\-not@{and\_\-not}!mln::logical@{mln::logical}}
\subsubsection[{and\_\-not}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename R $>$ mln::trait::ch\_\-value$<$ L, typename {\bf mln::fun::vv2v::land\_\-not}$<$ typename L::value, typename R::value $>$::result $>$::ret mln::logical::and\_\-not (
\begin{DoxyParamCaption}
\item[{const Image$<$ L $>$ \&}]{ lhs, }
\item[{const Image$<$ R $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d3/d23/a02646_a18316f2a3130240b773da9cf58058d15}
Point-\/wise \char`\"{}logical and-\/not\char`\"{} between images {\ttfamily lhs} and {\ttfamily rhs}.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em lhs}]First operand image. \item[\mbox{\tt[in]} {\em rhs}]Second operand image. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result image.
\end{DoxyReturn}
\begin{DoxyPrecond}{Precondition}
{\ttfamily lhs.domain} == {\ttfamily rhs.domain} 
\end{DoxyPrecond}


Definition at line 76 of file and\_\-not.hh.



References mln::data::transform().

\hypertarget{a02646_a6c63c9be4dd66babec3999472085f23f}{
\index{mln::logical@{mln::logical}!and\_\-not\_\-inplace@{and\_\-not\_\-inplace}}
\index{and\_\-not\_\-inplace@{and\_\-not\_\-inplace}!mln::logical@{mln::logical}}
\subsubsection[{and\_\-not\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename R $>$ void mln::logical::and\_\-not\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ L $>$ \&}]{ lhs, }
\item[{const Image$<$ R $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d3/d23/a02646_a6c63c9be4dd66babec3999472085f23f}
Point-\/wise in-\/place \char`\"{}logical and-\/not\char`\"{} of image {\ttfamily rhs} in image {\ttfamily lhs}.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em lhs}]First operand image. \item[\mbox{\tt[in]} {\em rhs}]Second operand image.\end{DoxyParams}
It performs: \par
 for all p of rhs.domain \par
 lhs(p) = lhs(p) and not rhs(p)

\begin{DoxyPrecond}{Precondition}
{\ttfamily rhs.domain} $>$= {\ttfamily lhs.domain} 
\end{DoxyPrecond}


Definition at line 91 of file and\_\-not.hh.



References mln::data::transform\_\-inplace().

\hypertarget{a02646_a05cc0a58c2a0149f152344dbe09afb64}{
\index{mln::logical@{mln::logical}!not\_\-inplace@{not\_\-inplace}}
\index{not\_\-inplace@{not\_\-inplace}!mln::logical@{mln::logical}}
\subsubsection[{not\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ void mln::logical::not\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ I $>$ \&}]{ input}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d3/d23/a02646_a05cc0a58c2a0149f152344dbe09afb64}
Point-\/wise in-\/place \char`\"{}logical not\char`\"{} of image {\ttfamily input}.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em input}]The target image.\end{DoxyParams}
It performs: \par
 for all p of input.domain \par
 input(p) = not input(p)

\begin{DoxyPrecond}{Precondition}
{\ttfamily input.is\_\-valid} 
\end{DoxyPrecond}


Definition at line 88 of file logical/not.hh.



References mln::data::transform\_\-inplace().

\hypertarget{a02646_ad2e09ef86504b36ab84eed9935cb7f47}{
\index{mln::logical@{mln::logical}!or\_\-inplace@{or\_\-inplace}}
\index{or\_\-inplace@{or\_\-inplace}!mln::logical@{mln::logical}}
\subsubsection[{or\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename R $>$ void mln::logical::or\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ L $>$ \&}]{ lhs, }
\item[{const Image$<$ R $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d3/d23/a02646_ad2e09ef86504b36ab84eed9935cb7f47}
Point-\/wise in-\/place \char`\"{}logical or\char`\"{} of image {\ttfamily rhs} in image {\ttfamily lhs}.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em lhs}]First operand image. \item[\mbox{\tt[in]} {\em rhs}]Second operand image.\end{DoxyParams}
It performs: \par
 for all p of rhs.domain \par
 lhs(p) = lhs(p) or rhs(p)

\begin{DoxyPrecond}{Precondition}
{\ttfamily rhs.domain} $>$= {\ttfamily lhs.domain} 
\end{DoxyPrecond}


Definition at line 91 of file logical/or.hh.



References mln::data::transform\_\-inplace().

\hypertarget{a02646_a80aab0837aa7c07b8beb92613a58f10b}{
\index{mln::logical@{mln::logical}!xor\_\-inplace@{xor\_\-inplace}}
\index{xor\_\-inplace@{xor\_\-inplace}!mln::logical@{mln::logical}}
\subsubsection[{xor\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename R $>$ void mln::logical::xor\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ L $>$ \&}]{ lhs, }
\item[{const Image$<$ R $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d3/d23/a02646_a80aab0837aa7c07b8beb92613a58f10b}
Point-\/wise in-\/place \char`\"{}logical xor\char`\"{} of image {\ttfamily rhs} in image {\ttfamily lhs}.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em lhs}]First operand image. \item[\mbox{\tt[in]} {\em rhs}]Second operand image.\end{DoxyParams}
It performs: \par
 for all p of rhs.domain \par
 lhs(p) = lhs(p) xor rhs(p)

\begin{DoxyPrecond}{Precondition}
{\ttfamily rhs.domain} $>$= {\ttfamily lhs.domain} 
\end{DoxyPrecond}


Definition at line 91 of file logical/xor.hh.



References mln::data::transform\_\-inplace().

