\hypertarget{classeo_topology}{}\doxysection{eo\+Topology$<$ P\+OT $>$ Class Template Reference} \label{classeo_topology}\index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} {\ttfamily \#include $<$eo\+Topology.\+h$>$} Inheritance diagram for eo\+Topology$<$ P\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_topology__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+Topology$<$ P\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_topology__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item virtual void \mbox{\hyperlink{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}{setup}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&)=0 \item virtual void \mbox{\hyperlink{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}{update\+Neighborhood}} (P\+OT \&, unsigned)=0 \item virtual void \mbox{\hyperlink{classeo_topology_a74c72740788c63a2a08ec82a61a039ea}{update\+Neighborhood}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&\+\_\+pop) \item virtual P\+OT \& \mbox{\hyperlink{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}{best}} (unsigned)=0 \item \mbox{\Hypertarget{classeo_topology_ab55b09996deab3458f1b58f704a95987}\label{classeo_topology_ab55b09996deab3458f1b58f704a95987}} virtual P\+OT \& {\bfseries global\+Best} ()=0 \item virtual void \mbox{\hyperlink{classeo_topology_a96f44377c7cf60ab8fede4ea0fa568a9}{print\+On}} ()=0 \item virtual void \mbox{\hyperlink{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}{setup}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&)=0 \item virtual void \mbox{\hyperlink{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}{update\+Neighborhood}} (P\+OT \&, unsigned)=0 \item virtual void \mbox{\hyperlink{classeo_topology_a74c72740788c63a2a08ec82a61a039ea}{update\+Neighborhood}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&\+\_\+pop) \item virtual P\+OT \& \mbox{\hyperlink{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}{best}} (unsigned)=0 \item \mbox{\Hypertarget{classeo_topology_ab55b09996deab3458f1b58f704a95987}\label{classeo_topology_ab55b09996deab3458f1b58f704a95987}} virtual P\+OT \& {\bfseries global\+Best} ()=0 \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class P\+OT$>$\newline class eo\+Topology$<$ P\+O\+T $>$} Defines the interface of a swarm topology. Can be static (usually the case for the social topologies) or dynamic. It\textquotesingle{}s the same interface for both social and physical topologies. (\char`\"{}social\char`\"{} topology means social-\/neighborhood-\/based toplogy and so on ...) \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}\label{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!best@{best}} \index{best@{best}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual P\+OT\& \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::best (\begin{DoxyParamCaption}\item[{unsigned}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Builds the neighborhoods contained in the topology. Implemented in \mbox{\hyperlink{classeo_star_topology_ad96bcce87b69c9abbeb32191825ecdb3}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a433aa48e4e6e544a6cd6e073a73514d0}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}\label{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!best@{best}} \index{best@{best}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual P\+OT\& \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::best (\begin{DoxyParamCaption}\item[{unsigned}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Builds the neighborhoods contained in the topology. Implemented in \mbox{\hyperlink{classeo_star_topology_ad96bcce87b69c9abbeb32191825ecdb3}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a433aa48e4e6e544a6cd6e073a73514d0}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_topology_a96f44377c7cf60ab8fede4ea0fa568a9}\label{classeo_topology_a96f44377c7cf60ab8fede4ea0fa568a9}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::print\+On (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Prints the neighborhoods contained in the topology. Implemented in \mbox{\hyperlink{classeo_linear_topology_a0e7b4b3a67d55827a66c33051145f47b}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_acf7a9bf9d5395d04bac38d92aa372f97}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_star_topology_a338c79fb0e633cd0ee9bf7b5c7da418c}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a338c79fb0e633cd0ee9bf7b5c7da418c}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}\label{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!setup@{setup}} \index{setup@{setup}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::setup (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Builds the neighborhoods contained in the topology. Implemented in \mbox{\hyperlink{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_star_topology_a45920dc98b90f0b11db5e4512545da89}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a45920dc98b90f0b11db5e4512545da89}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}\label{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!setup@{setup}} \index{setup@{setup}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::setup (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Builds the neighborhoods contained in the topology. Implemented in \mbox{\hyperlink{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_star_topology_a45920dc98b90f0b11db5e4512545da89}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a45920dc98b90f0b11db5e4512545da89}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_topology_a74c72740788c63a2a08ec82a61a039ea}\label{classeo_topology_a74c72740788c63a2a08ec82a61a039ea}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Updates the neighborhood of the given particle thanks to a whole population (used for distributed or synchronous P\+SO) \mbox{\Hypertarget{classeo_topology_a74c72740788c63a2a08ec82a61a039ea}\label{classeo_topology_a74c72740788c63a2a08ec82a61a039ea}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Updates the neighborhood of the given particle thanks to a whole population (used for distributed or synchronous P\+SO) \mbox{\Hypertarget{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}\label{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{P\+OT \&}]{, }\item[{unsigned}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Updates the neighborhood of the given particle and its indice in the population Implemented in \mbox{\hyperlink{classeo_star_topology_aa7e260cf5af142697ebfc3d5262e4e0f}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a2d0abe8599e15d5f9af5b71dd1a359c1}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}\label{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}} \index{eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoTopology$<$ POT $>$@{eoTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{P\+OT \&}]{, }\item[{unsigned}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Updates the neighborhood of the given particle and its indice in the population Implemented in \mbox{\hyperlink{classeo_star_topology_aa7e260cf5af142697ebfc3d5262e4e0f}{eo\+Star\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, \mbox{\hyperlink{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_star_topology_a2d0abe8599e15d5f9af5b71dd1a359c1}{eo\+Star\+Topology$<$ P\+O\+T $>$}}. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item deprecated/eo/src/eo\+Topology.\+h\end{DoxyCompactItemize}