\doxysection{Action Class Reference}
\hypertarget{classAction}{}\label{classAction}\index{Action@{Action}}


NOTE\+: Actions always set the \doxylink{classAgent}{Agent}\textquotesingle{}s least recently used connction (get\+Connection\+LRU()) which is somewhat ugly for actions affecting multiple connections -\/ we should probably return a set of affected connections if we ever have actions that change more than one (other than clustering which doesn\textquotesingle{}t really change anything).  




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

\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structAction_1_1Result}{Result}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classAction_a10c8f6ad741c6d30ff9b20043e0bef47}\label{classAction_a10c8f6ad741c6d30ff9b20043e0bef47} 
using {\bfseries Index} = uint16\+\_\+t
\item 
\Hypertarget{classAction_ac8cb7a4e4d529a4011c118db60f948e5}\label{classAction_ac8cb7a4e4d529a4011c118db60f948e5} 
using {\bfseries Cache\+Ref} = uint32\+\_\+t
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classAction_a3560bc04521ac2c503e6d5d91d2e6f6f}\label{classAction_a3560bc04521ac2c503e6d5d91d2e6f6f} 
{\bfseries Action} (const std\+::string \&name, uint index=std\+::numeric\+\_\+limits$<$ Index $>$\+::max())
\item 
\Hypertarget{classAction_a23800f6ef38781f10e6823f09ad6d62c}\label{classAction_a23800f6ef38781f10e6823f09ad6d62c} 
const std\+::string \& {\bfseries name} () const
\item 
\Hypertarget{classAction_a75ee4651baff37ad907a8e47d24587e4}\label{classAction_a75ee4651baff37ad907a8e47d24587e4} 
Index {\bfseries index} () const
\item 
\Hypertarget{classAction_aca37db8dd40f297c2f970c758066c4cd}\label{classAction_aca37db8dd40f297c2f970c758066c4cd} 
bool {\bfseries legal} () const
\item 
\Hypertarget{classAction_a6850f63a8964c45fa34b843db21238d2}\label{classAction_a6850f63a8964c45fa34b843db21238d2} 
virtual \mbox{\hyperlink{structAction_1_1Result}{Result}} {\bfseries perform\+As} (\mbox{\hyperlink{classAgent}{Agent}} \&context, Py\+Object \texorpdfstring{$\ast$}{*}arg=0)
\item 
\Hypertarget{classAction_a833fe548366b3b2260c178ce60deaef2}\label{classAction_a833fe548366b3b2260c178ce60deaef2} 
virtual void {\bfseries clear\+Cache} (Cache\+Ref=0)
\item 
\Hypertarget{classAction_abb32f34557226613a50e5b30d644a50e}\label{classAction_abb32f34557226613a50e5b30d644a50e} 
virtual \mbox{\hyperlink{structAction_1_1Result}{Result}} {\bfseries perform\+As} (\mbox{\hyperlink{classAgent}{Agent}} \&context, Py\+Object \texorpdfstring{$\ast$}{*}arg, Cache\+Ref)
\item 
\Hypertarget{classAction_a6fe51be5a7b3db45acc21f4f1045c6cf}\label{classAction_a6fe51be5a7b3db45acc21f4f1045c6cf} 
virtual \mbox{\hyperlink{structAction_1_1Result}{Result}} {\bfseries undo\+As} (\mbox{\hyperlink{classAgent}{Agent}} \&)
\item 
\Hypertarget{classAction_ab72622dce4e041013fce92b753e3bfc1}\label{classAction_ab72622dce4e041013fce92b753e3bfc1} 
\mbox{\hyperlink{classAction}{Action}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Undo} () const
\item 
\Hypertarget{classAction_a2175f7d0d191f308b1653a867e5a91e5}\label{classAction_a2175f7d0d191f308b1653a867e5a91e5} 
void {\bfseries set\+Undo} (\mbox{\hyperlink{classAction}{Action}} \texorpdfstring{$\ast$}{*}A)
\item 
\Hypertarget{classAction_abaacd1102028ec937669f0a267161187}\label{classAction_abaacd1102028ec937669f0a267161187} 
void {\bfseries set\+Index} (Index a)
\item 
\Hypertarget{classAction_a413a36a9209a76274bcd719167134928}\label{classAction_a413a36a9209a76274bcd719167134928} 
void {\bfseries set\+Legal} (bool b)
\item 
\Hypertarget{classAction_a92d246273abae7578ca85bb45c18f7ae}\label{classAction_a92d246273abae7578ca85bb45c18f7ae} 
void {\bfseries set\+Action\+Count\+Increment} (uint n)
\item 
\Hypertarget{classAction_af1ffe722628a57cd3a27199afc80cea1}\label{classAction_af1ffe722628a57cd3a27199afc80cea1} 
virtual Py\+Object \texorpdfstring{$\ast$}{*} {\bfseries get\+Py} () const
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classAction_aa8df4e35e72afc1421d68bb1ba0b77f6}\label{classAction_aa8df4e35e72afc1421d68bb1ba0b77f6} 
static constexpr const Index {\bfseries Index\+None} = std\+::numeric\+\_\+limits$<$Index$>$\+::max()
\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classAction_a1fd797cafc26efe4eefd4a7c3c7d0192}\label{classAction_a1fd797cafc26efe4eefd4a7c3c7d0192} 
\mbox{\hyperlink{classAction}{Action}} \texorpdfstring{$\ast$}{*} {\bfseries m\+Undo} \{0\}
\item 
\Hypertarget{classAction_a39c345583f9eac1bb913492b66f8706f}\label{classAction_a39c345583f9eac1bb913492b66f8706f} 
uint {\bfseries m\+Action\+Count\+Increment} \{1\}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
NOTE\+: Actions always set the \doxylink{classAgent}{Agent}\textquotesingle{}s least recently used connction (get\+Connection\+LRU()) which is somewhat ugly for actions affecting multiple connections -\/ we should probably return a set of affected connections if we ever have actions that change more than one (other than clustering which doesn\textquotesingle{}t really change anything). 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/chr/devel/\+Ph\+D/\+Environment/pub/\+PCBEnv/pcbenv/cxx/\+RL/Action.\+hpp\end{DoxyCompactItemize}
