\section{atlas::klsupport::KLSupport Class Reference}
\label{classatlas_1_1klsupport_1_1KLSupport}\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
{\tt \#include $<$klsupport.h$>$}

Collaboration diagram for atlas::klsupport::KLSupport:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=265pt]{classatlas_1_1klsupport_1_1KLSupport__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf KLSupport} ()
\item 
{\bf KLSupport} ({\bf blocks::Block} \&)
\item 
{\bf $\sim$KLSupport} ()
\item 
void {\bf swap} ({\bf KLSupport} \&)
\item 
const {\bf blocks::Block} \& {\bf block} () const 
\item 
size\_\-t {\bf cross} (size\_\-t {\bf s}, size\_\-t z) const 
\item 
{\bf blocks::Block\-Elt\-Pair} {\bf cayley} (size\_\-t {\bf s}, size\_\-t z) const 
\item 
const {\bf bitset::Rank\-Flags} \& {\bf descent\-Set} (size\_\-t z) const 
\item 
{\bf descents::Descent\-Status::Value} {\bf descent\-Value} (size\_\-t {\bf s}, size\_\-t z) const 
\item 
void {\bf extremalize} ({\bf bitmap::Bit\-Map} \&, const {\bf bitset::Rank\-Flags} \&) const 
\item 
const {\bf bitset::Rank\-Flags} \& {\bf good\-Ascent\-Set} (size\_\-t z) const 
\item 
size\_\-t {\bf length} (size\_\-t z) const 
\item 
size\_\-t {\bf length\-Less} (size\_\-t l) const 
\item 
void {\bf primitivize} ({\bf bitmap::Bit\-Map} \&, const {\bf bitset::Rank\-Flags} \&) const 
\item 
bool {\bf primitivize} (size\_\-t \&, const {\bf bitset::Rank\-Flags} \&) const 
\item 
size\_\-t {\bf rank} () const 
\item 
size\_\-t {\bf size} () const 
\item 
void {\bf fill} ()
\item 
void {\bf fill\-Downsets} ()
\item 
size\_\-t {\bf num\-Extremals} ()
\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item 
enum {\bf State} \{ {\bf Downsets\-Filled}, 
{\bf Length\-Less\-Filled}, 
{\bf Filled}, 
{\bf Num\-States}
 \}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf bitset::Bit\-Set}$<$ Num\-States $>$ {\bf d\_\-state}
\item 
{\bf blocks::Block} $\ast$ {\bf d\_\-block}
\item 
size\_\-t {\bf d\_\-rank}
\item 
size\_\-t {\bf d\_\-size}
\item 
std::vector$<$ {\bf bitset::Rank\-Flags} $>$ {\bf d\_\-descent}
\item 
std::vector$<$ {\bf bitset::Rank\-Flags} $>$ {\bf d\_\-good\-Ascent}
\item 
std::vector$<$ {\bf bitmap::Bit\-Map} $>$ {\bf d\_\-downset}
\item 
std::vector$<$ {\bf bitmap::Bit\-Map} $>$ {\bf d\_\-primset}
\item 
std::vector$<$ size\_\-t $>$ {\bf d\_\-length\-Less}
\end{CompactItemize}


\subsection{Member Enumeration Documentation}
\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!State@{State}}
\index{State@{State}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf atlas::klsupport::KLSupport::State}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_5cab3fbac307de6706e6f98eb04cf031}


\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{DownsetsFilled@{DownsetsFilled}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!DownsetsFilled@{DownsetsFilled}}\item[{\em 
Downsets\-Filled\label{classatlas_1_1klsupport_1_1KLSupport_5cab3fbac307de6706e6f98eb04cf0312af9dc80b7def25bdff216bdc04156fa}
}]\index{LengthLessFilled@{LengthLessFilled}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!LengthLessFilled@{LengthLessFilled}}\item[{\em 
Length\-Less\-Filled\label{classatlas_1_1klsupport_1_1KLSupport_5cab3fbac307de6706e6f98eb04cf0314cb448703205dad71d1cb297ec7b2320}
}]\index{Filled@{Filled}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!Filled@{Filled}}\item[{\em 
Filled\label{classatlas_1_1klsupport_1_1KLSupport_5cab3fbac307de6706e6f98eb04cf03126ac6c34c6697cb6a06fb15e2e01d744}
}]\index{NumStates@{NumStates}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!NumStates@{NumStates}}\item[{\em 
Num\-States\label{classatlas_1_1klsupport_1_1KLSupport_5cab3fbac307de6706e6f98eb04cf031955a2bf1e2ca2ca7482671cc0837a1e7}
}]\end{description}
\end{Desc}



\subsection{Constructor \& Destructor Documentation}
\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!KLSupport@{KLSupport}}
\index{KLSupport@{KLSupport}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::klsupport::KLSupport::KLSupport ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_70eb612914b803fb1501d1985408aa12}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!KLSupport@{KLSupport}}
\index{KLSupport@{KLSupport}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::klsupport::KLSupport::KLSupport ({\bf blocks::Block} \&)}\label{classatlas_1_1klsupport_1_1KLSupport_c7c6b0a00a923a2fd12da255aa016fa9}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!~KLSupport@{$\sim$KLSupport}}
\index{~KLSupport@{$\sim$KLSupport}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::klsupport::KLSupport::$\sim$KLSupport ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_eb92da2ed49a9ae71a92899658b97553}




\subsection{Member Function Documentation}
\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!block@{block}}
\index{block@{block}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf blocks::Block}\& atlas::klsupport::KLSupport::block () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_96d7e825f213671b925a513519467d8a}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!cayley@{cayley}}
\index{cayley@{cayley}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf blocks::Block\-Elt\-Pair} atlas::klsupport::KLSupport::cayley (size\_\-t {\em s}, size\_\-t {\em z}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_ce3cc5f2151cca0ae569657b88843bb1}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!cross@{cross}}
\index{cross@{cross}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t atlas::klsupport::KLSupport::cross (size\_\-t {\em s}, size\_\-t {\em z}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_00093dd9498389bc6ab720f491eb13a1}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!descentSet@{descentSet}}
\index{descentSet@{descentSet}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf bitset::Rank\-Flags}\& atlas::klsupport::KLSupport::descent\-Set (size\_\-t {\em z}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_a43a2675597c02d5f9a317235efe19c9}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!descentValue@{descentValue}}
\index{descentValue@{descentValue}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf descents::Descent\-Status::Value} atlas::klsupport::KLSupport::descent\-Value (size\_\-t {\em s}, size\_\-t {\em z}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_127e3070c025cacab528105e1ab42030}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!extremalize@{extremalize}}
\index{extremalize@{extremalize}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::klsupport::KLSupport::extremalize ({\bf bitmap::Bit\-Map} \&, const {\bf bitset::Rank\-Flags} \&) const}\label{classatlas_1_1klsupport_1_1KLSupport_9fbd4cc36de684156a1e1971b2ccbefa}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!fill@{fill}}
\index{fill@{fill}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::klsupport::KLSupport::fill ()}\label{classatlas_1_1klsupport_1_1KLSupport_2c26a7617a567fa0181bd5887b38ef14}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!fillDownsets@{fillDownsets}}
\index{fillDownsets@{fillDownsets}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::klsupport::KLSupport::fill\-Downsets ()}\label{classatlas_1_1klsupport_1_1KLSupport_4784ee13a470a45c034b5b98f6e82de6}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!goodAscentSet@{goodAscentSet}}
\index{goodAscentSet@{goodAscentSet}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf bitset::Rank\-Flags}\& atlas::klsupport::KLSupport::good\-Ascent\-Set (size\_\-t {\em z}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_1bb94667e6e2c2df691109b1cc104016}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!length@{length}}
\index{length@{length}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t atlas::klsupport::KLSupport::length (size\_\-t {\em z}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_4122e12e1a473d21bb106435fe873291}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!lengthLess@{lengthLess}}
\index{lengthLess@{lengthLess}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t atlas::klsupport::KLSupport::length\-Less (size\_\-t {\em l}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_9d20ddcdb4748b87cc93537fc71d0c72}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!numExtremals@{numExtremals}}
\index{numExtremals@{numExtremals}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t atlas::klsupport::KLSupport::num\-Extremals ()}\label{classatlas_1_1klsupport_1_1KLSupport_e4f8cd4a25013ea460528bf53a0320c1}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!primitivize@{primitivize}}
\index{primitivize@{primitivize}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool atlas::klsupport::KLSupport::primitivize (size\_\-t \&, const {\bf bitset::Rank\-Flags} \&) const}\label{classatlas_1_1klsupport_1_1KLSupport_cd27c10d0c47f531be6b071bcbb931c4}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!primitivize@{primitivize}}
\index{primitivize@{primitivize}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::klsupport::KLSupport::primitivize ({\bf bitmap::Bit\-Map} \&, const {\bf bitset::Rank\-Flags} \&) const}\label{classatlas_1_1klsupport_1_1KLSupport_e0a6a4569fde4bd5e65545b3f486ff7d}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!rank@{rank}}
\index{rank@{rank}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t atlas::klsupport::KLSupport::rank () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_92a5f01dcd906a87bdce8603d25df76a}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!size@{size}}
\index{size@{size}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t atlas::klsupport::KLSupport::size () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1klsupport_1_1KLSupport_f6c05b01531fe98dc423641baba93a2c}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!swap@{swap}}
\index{swap@{swap}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::klsupport::KLSupport::swap ({\bf KLSupport} \&)}\label{classatlas_1_1klsupport_1_1KLSupport_0051fff947e6814d510e2080d2a46e51}




\subsection{Member Data Documentation}
\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_block@{d\_\-block}}
\index{d_block@{d\_\-block}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf blocks::Block}$\ast$ {\bf atlas::klsupport::KLSupport::d\_\-block}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_c14705375b59e62f8447c19eb054e739}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_descent@{d\_\-descent}}
\index{d_descent@{d\_\-descent}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf bitset::Rank\-Flags}$>$ {\bf atlas::klsupport::KLSupport::d\_\-descent}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_235a859d2a3563305b08675f1ef8cc71}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_downset@{d\_\-downset}}
\index{d_downset@{d\_\-downset}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf bitmap::Bit\-Map}$>$ {\bf atlas::klsupport::KLSupport::d\_\-downset}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_2a1c51cd3a09f4b8d7c22a6990063f4f}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_goodAscent@{d\_\-goodAscent}}
\index{d_goodAscent@{d\_\-goodAscent}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf bitset::Rank\-Flags}$>$ {\bf atlas::klsupport::KLSupport::d\_\-good\-Ascent}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_c4d4735c87442874a09f2357316beb1d}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_lengthLess@{d\_\-lengthLess}}
\index{d_lengthLess@{d\_\-lengthLess}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<$size\_\-t$>$ {\bf atlas::klsupport::KLSupport::d\_\-length\-Less}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_f2ae65bc5b5e77c902cb5ffc8d2d6531}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_primset@{d\_\-primset}}
\index{d_primset@{d\_\-primset}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf bitmap::Bit\-Map}$>$ {\bf atlas::klsupport::KLSupport::d\_\-primset}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_8e18f1c641f3a744199de4c6d3072f02}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_rank@{d\_\-rank}}
\index{d_rank@{d\_\-rank}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t {\bf atlas::klsupport::KLSupport::d\_\-rank}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_7811702b1ff23fff552ea7658090edf4}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_size@{d\_\-size}}
\index{d_size@{d\_\-size}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}size\_\-t {\bf atlas::klsupport::KLSupport::d\_\-size}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_19e7646f63ed83ed81da8350fb53f2e0}


\index{atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}!d_state@{d\_\-state}}
\index{d_state@{d\_\-state}!atlas::klsupport::KLSupport@{atlas::klsupport::KLSupport}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf bitset::Bit\-Set}$<$Num\-States$>$ {\bf atlas::klsupport::KLSupport::d\_\-state}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1klsupport_1_1KLSupport_5dd8283798af44cdc935b9186763454b}




The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
sources/gkmod/{\bf klsupport.h}\item 
sources/gkmod/{\bf klsupport.cpp}\end{CompactItemize}
