\hypertarget{classBorderPosition}{\section{\-Border\-Position \-Class \-Reference}
\label{classBorderPosition}\index{\-Border\-Position@{\-Border\-Position}}
}


{\ttfamily \#include $<$\-Border\-Position.\-h$>$}



\-Collaboration diagram for \-Border\-Position\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classBorderPosition__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBorderPosition_a822be05dc00c17ea713019b51a74a40b}{\-Border\-Position} ()
\item 
\hyperlink{classBorderPosition_a4b85380c523df90a7a051f0ae5f2191d}{\-Border\-Position} (\hyperlink{BorderPosition_8h_ae7457ead7ae8316010fa8fc9c362cfe0}{\-Position\-Type} type, \hyperlink{Chokepoint_8h_a865bdcf45811a239597170e10efc411f}{\-Chokepoint} choke)
\item 
\hyperlink{classBorderPosition_acfe6cf589c578b39ab3441bd69c70d55}{\-Border\-Position} (\hyperlink{Interface_8h_a7ae5d695cf6b7c013c5ad30d124278e0}{\-Position} position, int size)
\item 
\hyperlink{classBorderPosition_a7f66f051deb06d377a451279043f6231}{\-Border\-Position} (\hyperlink{Base_8h_aeee60104d9f1947526194ec22d997f69}{\-Base} base)
\item 
\hyperlink{classBorderPosition_a9a4b7fd9980ecd2c3268fa6787d689f6}{\-Border\-Position} (\hyperlink{BorderPosition_8h_ae7457ead7ae8316010fa8fc9c362cfe0}{\-Position\-Type} type, \hyperlink{Chokepoint_8h_ac1a1ed6cb736b2e1294c4740cd6c9e00}{\-Region} region)
\item 
bool \hyperlink{classBorderPosition_a033ee0df721f6949741a4f1b85ae7198}{operator==} (const \hyperlink{classBorderPosition}{\-Border\-Position} \&other) const 
\item 
bool \hyperlink{classBorderPosition_a01fda7b061718667988bcf82e6de7d56}{operator$<$} (const \hyperlink{classBorderPosition}{\-Border\-Position} \&other) const 
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{BorderPosition_8h_ae7457ead7ae8316010fa8fc9c362cfe0}{\-Position\-Type} \hyperlink{classBorderPosition_a135fc58e1807077f5dd7933286416f33}{m\-Type}
\item 
\hyperlink{Chokepoint_8h_a865bdcf45811a239597170e10efc411f}{\-Chokepoint} \hyperlink{classBorderPosition_a7fe35a346c964cdc1178050ae9c150d2}{m\-Choke}
\item 
\hyperlink{Interface_8h_a7ae5d695cf6b7c013c5ad30d124278e0}{\-Position} \hyperlink{classBorderPosition_ac6f063bf48a62ef520ffa7654d6f9bc8}{m\-Position}
\item 
int \hyperlink{classBorderPosition_a809c67baa98008d679553730777d4dd3}{m\-Position\-Size}
\item 
\hyperlink{Base_8h_aeee60104d9f1947526194ec22d997f69}{\-Base} \hyperlink{classBorderPosition_aa78cfb4b5b08dcea6b682bd5e2593bc7}{m\-Base}
\item 
\hyperlink{Chokepoint_8h_ac1a1ed6cb736b2e1294c4740cd6c9e00}{\-Region} \hyperlink{classBorderPosition_aaa7a92fd0d673a94275e0e3f9c86004d}{m\-Region}
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}


\-Definition at line 30 of file \-Border\-Position.\-h.



\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classBorderPosition_a822be05dc00c17ea713019b51a74a40b}{\index{\-Border\-Position@{\-Border\-Position}!\-Border\-Position@{\-Border\-Position}}
\index{\-Border\-Position@{\-Border\-Position}!BorderPosition@{\-Border\-Position}}
\subsubsection[{\-Border\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Border\-Position\-::\-Border\-Position} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBorderPosition_a822be05dc00c17ea713019b51a74a40b}


\-Definition at line 3 of file \-Border\-Position.\-cpp.


\begin{DoxyCode}
        : mType(PositionType::None)
        , mChoke()
        , mPosition(BWAPI::Positions::None)
        , mPositionSize(0)
        , mBase()
        , mRegion()
{
}
\end{DoxyCode}
\hypertarget{classBorderPosition_a4b85380c523df90a7a051f0ae5f2191d}{\index{\-Border\-Position@{\-Border\-Position}!\-Border\-Position@{\-Border\-Position}}
\index{\-Border\-Position@{\-Border\-Position}!BorderPosition@{\-Border\-Position}}
\subsubsection[{\-Border\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Border\-Position\-::\-Border\-Position} (
\begin{DoxyParamCaption}
\item[{{\bf \-Position\-Type}}]{type, }
\item[{{\bf \-Chokepoint}}]{choke}
\end{DoxyParamCaption}
)}}\label{classBorderPosition_a4b85380c523df90a7a051f0ae5f2191d}


\-Definition at line 13 of file \-Border\-Position.\-cpp.


\begin{DoxyCode}
        : mType(type)
        , mChoke(choke)
        , mPosition(BWAPI::Positions::None)
        , mPositionSize(0)
        , mBase()
        , mRegion()
{
}
\end{DoxyCode}
\hypertarget{classBorderPosition_acfe6cf589c578b39ab3441bd69c70d55}{\index{\-Border\-Position@{\-Border\-Position}!\-Border\-Position@{\-Border\-Position}}
\index{\-Border\-Position@{\-Border\-Position}!BorderPosition@{\-Border\-Position}}
\subsubsection[{\-Border\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Border\-Position\-::\-Border\-Position} (
\begin{DoxyParamCaption}
\item[{{\bf \-Position}}]{position, }
\item[{int}]{size}
\end{DoxyParamCaption}
)}}\label{classBorderPosition_acfe6cf589c578b39ab3441bd69c70d55}


\-Definition at line 23 of file \-Border\-Position.\-cpp.


\begin{DoxyCode}
        : mType(PositionType::Position)
        , mChoke()
        , mPosition(position)
        , mPositionSize(size)
        , mBase()
        , mRegion()
{
}
\end{DoxyCode}
\hypertarget{classBorderPosition_a7f66f051deb06d377a451279043f6231}{\index{\-Border\-Position@{\-Border\-Position}!\-Border\-Position@{\-Border\-Position}}
\index{\-Border\-Position@{\-Border\-Position}!BorderPosition@{\-Border\-Position}}
\subsubsection[{\-Border\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Border\-Position\-::\-Border\-Position} (
\begin{DoxyParamCaption}
\item[{{\bf \-Base}}]{base}
\end{DoxyParamCaption}
)}}\label{classBorderPosition_a7f66f051deb06d377a451279043f6231}


\-Definition at line 33 of file \-Border\-Position.\-cpp.


\begin{DoxyCode}
        : mType(PositionType::HoldBase)
        , mChoke()
        , mPosition(BWAPI::Positions::None)
        , mPositionSize(0)
        , mBase(base)
        , mRegion()
{
}
\end{DoxyCode}
\hypertarget{classBorderPosition_a9a4b7fd9980ecd2c3268fa6787d689f6}{\index{\-Border\-Position@{\-Border\-Position}!\-Border\-Position@{\-Border\-Position}}
\index{\-Border\-Position@{\-Border\-Position}!BorderPosition@{\-Border\-Position}}
\subsubsection[{\-Border\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Border\-Position\-::\-Border\-Position} (
\begin{DoxyParamCaption}
\item[{{\bf \-Position\-Type}}]{type, }
\item[{{\bf \-Region}}]{region}
\end{DoxyParamCaption}
)}}\label{classBorderPosition_a9a4b7fd9980ecd2c3268fa6787d689f6}


\-Definition at line 43 of file \-Border\-Position.\-cpp.


\begin{DoxyCode}
        : mType(type)
        , mChoke()
        , mPosition(BWAPI::Positions::None)
        , mPositionSize(0)
        , mBase()
        , mRegion(region)
{
}
\end{DoxyCode}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classBorderPosition_a01fda7b061718667988bcf82e6de7d56}{\index{\-Border\-Position@{\-Border\-Position}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!BorderPosition@{\-Border\-Position}}
\subsubsection[{operator$<$}]{\setlength{\rightskip}{0pt plus 5cm}bool \-Border\-Position\-::operator$<$ (
\begin{DoxyParamCaption}
\item[{const {\bf \-Border\-Position} \&}]{other}
\end{DoxyParamCaption}
) const}}\label{classBorderPosition_a01fda7b061718667988bcf82e6de7d56}


\-Definition at line 82 of file \-Border\-Position.\-cpp.



\-References \-Position\-Type\-Def\-::\-Bot\-Control\-Region, \-Position\-Type\-Def\-::\-Contain\-Chokepoint, \-Position\-Type\-Def\-::\-Defense\-Chokepoint, \-Position\-Type\-Def\-::\-Enemy\-Chokepoint, \-Position\-Type\-Def\-::\-Enemy\-Control\-Region, \-Position\-Type\-Def\-::\-Forward\-Chokepoint, \-Position\-Type\-Def\-::\-Hold\-Base, m\-Base, m\-Choke, m\-Position, m\-Region, m\-Type, \-Position\-Type\-Def\-::\-None, \-Position\-Type\-Def\-::\-Position, \-Position\-Type\-Def\-::\-Shared\-Chokepoint, and \-Safe\-Enum$<$ def, inner $>$\-::underlying().


\begin{DoxyCode}
{
        if(mType == other.mType)
        {
                switch(mType.underlying())
                {
                case PositionType::None:
                        return false;
                case PositionType::ContainChokepoint:
                case PositionType::ForwardChokepoint:
                case PositionType::EnemyChokepoint:
                case PositionType::DefenseChokepoint:
                case PositionType::SharedChokepoint:
                        return mChoke < other.mChoke;
                case PositionType::Position:
                        return mPosition < other.mPosition;
                case PositionType::HoldBase:
                        return mBase < other.mBase;
                case PositionType::EnemyControlRegion:
                case PositionType::BotControlRegion:
                        return mRegion < other.mRegion;
                default:
                        return false;
                }
        }
        else
                return mType < other.mType;
}\end{DoxyCode}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBorderPosition_a01fda7b061718667988bcf82e6de7d56_cgraph}
\end{center}
\end{figure}


\hypertarget{classBorderPosition_a033ee0df721f6949741a4f1b85ae7198}{\index{\-Border\-Position@{\-Border\-Position}!operator==@{operator==}}
\index{operator==@{operator==}!BorderPosition@{\-Border\-Position}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool \-Border\-Position\-::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf \-Border\-Position} \&}]{other}
\end{DoxyParamCaption}
) const}}\label{classBorderPosition_a033ee0df721f6949741a4f1b85ae7198}


\-Definition at line 53 of file \-Border\-Position.\-cpp.



\-References \-Position\-Type\-Def\-::\-Bot\-Control\-Region, \-Position\-Type\-Def\-::\-Contain\-Chokepoint, \-Position\-Type\-Def\-::\-Defense\-Chokepoint, \-Position\-Type\-Def\-::\-Enemy\-Chokepoint, \-Position\-Type\-Def\-::\-Enemy\-Control\-Region, \-Position\-Type\-Def\-::\-Forward\-Chokepoint, \-Position\-Type\-Def\-::\-Hold\-Base, m\-Base, m\-Choke, m\-Position, m\-Region, m\-Type, \-Position\-Type\-Def\-::\-None, \-Position\-Type\-Def\-::\-Position, \-Position\-Type\-Def\-::\-Shared\-Chokepoint, and \-Safe\-Enum$<$ def, inner $>$\-::underlying().


\begin{DoxyCode}
{
        if(mType == other.mType)
        {
                switch(mType.underlying())
                {
                case PositionType::None:
                        return true;
                case PositionType::ContainChokepoint:
                case PositionType::ForwardChokepoint:
                case PositionType::EnemyChokepoint:
                case PositionType::DefenseChokepoint:
                case PositionType::SharedChokepoint:
                        return mChoke == other.mChoke;
                case PositionType::Position:
                        return mPosition == other.mPosition;
                case PositionType::HoldBase:
                        return mBase == other.mBase;
                case PositionType::EnemyControlRegion:
                case PositionType::BotControlRegion:
                        return mRegion == other.mRegion;
                default:
                        return true;
                }
        }
        else
                return false;
}
\end{DoxyCode}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBorderPosition_a033ee0df721f6949741a4f1b85ae7198_cgraph}
\end{center}
\end{figure}




\subsection{\-Member \-Data \-Documentation}
\hypertarget{classBorderPosition_aa78cfb4b5b08dcea6b682bd5e2593bc7}{\index{\-Border\-Position@{\-Border\-Position}!m\-Base@{m\-Base}}
\index{m\-Base@{m\-Base}!BorderPosition@{\-Border\-Position}}
\subsubsection[{m\-Base}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Base} {\bf \-Border\-Position\-::m\-Base}}}\label{classBorderPosition_aa78cfb4b5b08dcea6b682bd5e2593bc7}


\-Definition at line 49 of file \-Border\-Position.\-h.



\-Referenced by operator$<$(), and operator==().

\hypertarget{classBorderPosition_a7fe35a346c964cdc1178050ae9c150d2}{\index{\-Border\-Position@{\-Border\-Position}!m\-Choke@{m\-Choke}}
\index{m\-Choke@{m\-Choke}!BorderPosition@{\-Border\-Position}}
\subsubsection[{m\-Choke}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Chokepoint} {\bf \-Border\-Position\-::m\-Choke}}}\label{classBorderPosition_a7fe35a346c964cdc1178050ae9c150d2}


\-Definition at line 44 of file \-Border\-Position.\-h.



\-Referenced by get\-Largest\-Choke(), operator$<$(), operator==(), and \-Default\-Squad\-Task\-::update().

\hypertarget{classBorderPosition_ac6f063bf48a62ef520ffa7654d6f9bc8}{\index{\-Border\-Position@{\-Border\-Position}!m\-Position@{m\-Position}}
\index{m\-Position@{m\-Position}!BorderPosition@{\-Border\-Position}}
\subsubsection[{m\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Position} {\bf \-Border\-Position\-::m\-Position}}}\label{classBorderPosition_ac6f063bf48a62ef520ffa7654d6f9bc8}


\-Definition at line 46 of file \-Border\-Position.\-h.



\-Referenced by operator$<$(), and operator==().

\hypertarget{classBorderPosition_a809c67baa98008d679553730777d4dd3}{\index{\-Border\-Position@{\-Border\-Position}!m\-Position\-Size@{m\-Position\-Size}}
\index{m\-Position\-Size@{m\-Position\-Size}!BorderPosition@{\-Border\-Position}}
\subsubsection[{m\-Position\-Size}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Border\-Position\-::m\-Position\-Size}}}\label{classBorderPosition_a809c67baa98008d679553730777d4dd3}


\-Definition at line 47 of file \-Border\-Position.\-h.

\hypertarget{classBorderPosition_aaa7a92fd0d673a94275e0e3f9c86004d}{\index{\-Border\-Position@{\-Border\-Position}!m\-Region@{m\-Region}}
\index{m\-Region@{m\-Region}!BorderPosition@{\-Border\-Position}}
\subsubsection[{m\-Region}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Region} {\bf \-Border\-Position\-::m\-Region}}}\label{classBorderPosition_aaa7a92fd0d673a94275e0e3f9c86004d}


\-Definition at line 51 of file \-Border\-Position.\-h.



\-Referenced by operator$<$(), and operator==().

\hypertarget{classBorderPosition_a135fc58e1807077f5dd7933286416f33}{\index{\-Border\-Position@{\-Border\-Position}!m\-Type@{m\-Type}}
\index{m\-Type@{m\-Type}!BorderPosition@{\-Border\-Position}}
\subsubsection[{m\-Type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Position\-Type} {\bf \-Border\-Position\-::m\-Type}}}\label{classBorderPosition_a135fc58e1807077f5dd7933286416f33}


\-Definition at line 42 of file \-Border\-Position.\-h.



\-Referenced by operator$<$(), and operator==().



\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Skynet/\-Skynet/\hyperlink{BorderPosition_8h}{\-Border\-Position.\-h}\item 
\-Skynet/\-Skynet/\hyperlink{BorderPosition_8cpp}{\-Border\-Position.\-cpp}\end{DoxyCompactItemize}
