\hypertarget{classCSemanticConcept}{
\section{CSemantic\-Concept Class Reference}
\label{classCSemanticConcept}\index{CSemanticConcept@{CSemanticConcept}}
}
Semantic Concept.  


{\tt \#include $<$concept.h$>$}

Collaboration diagram for CSemantic\-Concept:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=96pt]{classCSemanticConcept__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
bool \hyperlink{classCSemanticConcept_CSemanticConcepta0}{Load} (FILE $\ast$a\_\-fp, \hyperlink{classCTextIDMap}{CText\-IDMap} \&a\_\-id\-Map)
\begin{CompactList}\small\item\em Loads the concept from an open file. \item\end{CompactList}\item 
bool \hyperlink{classCSemanticConcept_CSemanticConcepta1}{Save} (FILE $\ast$a\_\-fp)
\begin{CompactList}\small\item\em Saves the concept to an open file. \item\end{CompactList}\item 
std::string \hyperlink{classCSemanticConcept_CSemanticConcepta2}{Get\-Name} () const
\begin{CompactList}\small\item\em Gets the concept name. \item\end{CompactList}\item 
bool \hyperlink{classCSemanticConcept_CSemanticConcepta3}{Find\-Path\-To} (const \hyperlink{semantic__id_8h_a0}{Semantic\-ID} a\_\-dst\-ID, \hyperlink{classCFindPathConfig}{CFind\-Path\-Config} \&a\_\-config)
\begin{CompactList}\small\item\em Finds all paths to a particular destination concept. \item\end{CompactList}\item 
\hyperlink{semantic__id_8h_a0}{Semantic\-ID} \hyperlink{classCSemanticConcept_CSemanticConcepta4}{Get\-ID} () const
\begin{CompactList}\small\item\em Gets the concept ID. \item\end{CompactList}\item 
void \hyperlink{classCSemanticConcept_CSemanticConcepta5}{Add\-Link} (\hyperlink{classCSemanticLink}{CSemantic\-Link} $\ast$a\_\-link, const \hyperlink{relation__type_8h_a0}{Relation\-Type} a\_\-relation)
\begin{CompactList}\small\item\em Adds a forward link to another concept. \item\end{CompactList}\item 
\hyperlink{classCLinkMap}{CLink\-Map} $\ast$ \hyperlink{classCSemanticConcept_CSemanticConcepta6}{Get\-Links} (const \hyperlink{relation__type_8h_a0}{Relation\-Type} a\_\-relation)
\begin{CompactList}\small\item\em Gets a link map for a particular type of forward relation. \item\end{CompactList}\item 
void \hyperlink{classCSemanticConcept_CSemanticConcepta7}{Add\-Backward\-Link} (\hyperlink{classCSemanticLink}{CSemantic\-Link} $\ast$a\_\-link, const \hyperlink{relation__type_8h_a0}{Relation\-Type} a\_\-relation)
\begin{CompactList}\small\item\em Adds a backward link to another concept. \item\end{CompactList}\item 
\hyperlink{classCLinkMap}{CLink\-Map} $\ast$ \hyperlink{classCSemanticConcept_CSemanticConcepta8}{Get\-Backward\-Links} (const \hyperlink{relation__type_8h_a0}{Relation\-Type} a\_\-relation)
\begin{CompactList}\small\item\em Gets a backward link map for a particular relation type. \item\end{CompactList}\item 
\hyperlink{classCSemanticConcept_CSemanticConcepta9}{CSemantic\-Concept} (const std::string \&a\_\-name, \hyperlink{classCSemanticIDGenerator}{CSemantic\-IDGenerator} $\ast$a\_\-id\-Gen, \hyperlink{classCTextIDMap}{CText\-IDMap} $\ast$a\_\-id\-Map)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
\hyperlink{classCSemanticConcept_CSemanticConcepta10}{$\sim$CSemantic\-Concept} ()
\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item 
void \hyperlink{classCSemanticConcept_CSemanticConceptd0}{p\_\-Init\-Forward\-Links} ()
\begin{CompactList}\small\item\em Initializes the forward links data structure. \item\end{CompactList}\item 
void \hyperlink{classCSemanticConcept_CSemanticConceptd1}{p\_\-Init\-Backward\-Links} ()
\begin{CompactList}\small\item\em Initializes the backward links data structure. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
const std::string $\ast$ \hyperlink{classCSemanticConcept_CSemanticConceptr0}{m\_\-textual\-Name}
\begin{CompactList}\small\item\em Textual name for this concept. \item\end{CompactList}\item 
\hyperlink{semantic__id_8h_a0}{Semantic\-ID} \hyperlink{classCSemanticConcept_CSemanticConceptr1}{m\_\-concept\-ID}
\begin{CompactList}\small\item\em Numeric ID for this concept. \item\end{CompactList}\item 
\hyperlink{classCLinkMap}{CLink\-Map} $\ast$$\ast$ \hyperlink{classCSemanticConcept_CSemanticConceptr2}{m\_\-forward\-Links}
\begin{CompactList}\small\item\em Forward links. \item\end{CompactList}\item 
\hyperlink{classCLinkMap}{CLink\-Map} $\ast$$\ast$ \hyperlink{classCSemanticConcept_CSemanticConceptr3}{m\_\-backward\-Links}
\begin{CompactList}\small\item\em Backward links. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Semantic Concept. 



Definition at line 34 of file concept.h.

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classCSemanticConcept_CSemanticConcepta9}{
\index{CSemanticConcept@{CSemantic\-Concept}!CSemanticConcept@{CSemanticConcept}}
\index{CSemanticConcept@{CSemanticConcept}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[CSemanticConcept]{\setlength{\rightskip}{0pt plus 5cm}CSemantic\-Concept::CSemantic\-Concept (const std::string \& {\em a\_\-name}, \hyperlink{classCSemanticIDGenerator}{CSemantic\-IDGenerator} $\ast$ {\em a\_\-id\-Gen}, \hyperlink{classCTextIDMap}{CText\-IDMap} $\ast$ {\em a\_\-id\-Map})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta9}


Constructor. 



Definition at line 180 of file concept.h.

References CSemantic\-IDGenerator::Get(), m\_\-backward\-Links, m\_\-concept\-ID, m\_\-forward\-Links, m\_\-textual\-Name, and CText\-IDMap::Store().

Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classCSemanticConcept_CSemanticConcepta9_cgraph}
\end{center}
\end{figure}
\hypertarget{classCSemanticConcept_CSemanticConcepta10}{
\index{CSemanticConcept@{CSemantic\-Concept}!~CSemanticConcept@{$\sim$CSemanticConcept}}
\index{~CSemanticConcept@{$\sim$CSemanticConcept}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[$\sim$CSemanticConcept]{\setlength{\rightskip}{0pt plus 5cm}CSemantic\-Concept::$\sim$\hyperlink{classCSemanticConcept}{CSemantic\-Concept} ()\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta10}


Destructor. 



Definition at line 203 of file concept.h.

References m\_\-backward\-Links, m\_\-forward\-Links, and MAX\_\-RELATIONS.

\subsection{Member Function Documentation}
\hypertarget{classCSemanticConcept_CSemanticConcepta7}{
\index{CSemanticConcept@{CSemantic\-Concept}!AddBackwardLink@{AddBackwardLink}}
\index{AddBackwardLink@{AddBackwardLink}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[AddBackwardLink]{\setlength{\rightskip}{0pt plus 5cm}void CSemantic\-Concept::Add\-Backward\-Link (\hyperlink{classCSemanticLink}{CSemantic\-Link} $\ast$ {\em a\_\-link}, const \hyperlink{relation__type_8h_a0}{Relation\-Type} {\em a\_\-relation})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta7}


Adds a backward link to another concept. 



Definition at line 150 of file concept.h.

References m\_\-backward\-Links, p\_\-Init\-Backward\-Links(), and CLink\-Map::Store().

Referenced by CPredicate\-Decoder::Decode\-Predicate\-Text(), and CSemantic\-Link::Load().

Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=331pt]{classCSemanticConcept_CSemanticConcepta7_cgraph}
\end{center}
\end{figure}
\hypertarget{classCSemanticConcept_CSemanticConcepta5}{
\index{CSemanticConcept@{CSemantic\-Concept}!AddLink@{AddLink}}
\index{AddLink@{AddLink}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[AddLink]{\setlength{\rightskip}{0pt plus 5cm}void CSemantic\-Concept::Add\-Link (\hyperlink{classCSemanticLink}{CSemantic\-Link} $\ast$ {\em a\_\-link}, const \hyperlink{relation__type_8h_a0}{Relation\-Type} {\em a\_\-relation})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta5}


Adds a forward link to another concept. 



Definition at line 121 of file concept.h.

References m\_\-forward\-Links, p\_\-Init\-Forward\-Links(), and CLink\-Map::Store().

Referenced by CPredicate\-Decoder::Decode\-Predicate\-Text(), and CSemantic\-Link::Load().

Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=301pt]{classCSemanticConcept_CSemanticConcepta5_cgraph}
\end{center}
\end{figure}
\hypertarget{classCSemanticConcept_CSemanticConcepta3}{
\index{CSemanticConcept@{CSemantic\-Concept}!FindPathTo@{FindPathTo}}
\index{FindPathTo@{FindPathTo}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[FindPathTo]{\setlength{\rightskip}{0pt plus 5cm}bool CSemantic\-Concept::Find\-Path\-To (const \hyperlink{semantic__id_8h_a0}{Semantic\-ID} {\em a\_\-dst\-ID}, \hyperlink{classCFindPathConfig}{CFind\-Path\-Config} \& {\em a\_\-config})}}
\label{classCSemanticConcept_CSemanticConcepta3}


Finds all paths to a particular destination concept. 



Definition at line 24 of file concept.cpp.

References DPRINT, Get\-ID(), CFind\-Path\-Config::Leave\-Node(), m\_\-forward\-Links, m\_\-textual\-Name, MAX\_\-RELATIONS, and CFind\-Path\-Config::Visit\-Node().

Referenced by COMCSNet::Find\-Path\-From\-A\_\-To\_\-B().

Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=205pt]{classCSemanticConcept_CSemanticConcepta3_cgraph}
\end{center}
\end{figure}
\hypertarget{classCSemanticConcept_CSemanticConcepta8}{
\index{CSemanticConcept@{CSemantic\-Concept}!GetBackwardLinks@{GetBackwardLinks}}
\index{GetBackwardLinks@{GetBackwardLinks}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[GetBackwardLinks]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{classCLinkMap}{CLink\-Map}$\ast$ CSemantic\-Concept::Get\-Backward\-Links (const \hyperlink{relation__type_8h_a0}{Relation\-Type} {\em a\_\-relation})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta8}


Gets a backward link map for a particular relation type. 



Definition at line 168 of file concept.h.

References m\_\-backward\-Links.

Referenced by COMCSNet::p\_\-Analogous\-Process\-Link().\hypertarget{classCSemanticConcept_CSemanticConcepta4}{
\index{CSemanticConcept@{CSemantic\-Concept}!GetID@{GetID}}
\index{GetID@{GetID}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[GetID]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{semantic__id_8h_a0}{Semantic\-ID} CSemantic\-Concept::Get\-ID () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta4}


Gets the concept ID. 



Definition at line 115 of file concept.h.

References m\_\-concept\-ID, and Semantic\-ID.

Referenced by CPredicate\-Decoder::Decode\-Predicate\-Text(), COMCSNet::Find\-Context(), COMCSNet::Find\-Path\-From\-A\_\-To\_\-B(), CSemantic\-Link::Find\-Path\-To(), Find\-Path\-To(), CSemantic\-Link::Set\-Dest(), CSemantic\-Link::Set\-Source(), and CConcept\-Map::Store().\hypertarget{classCSemanticConcept_CSemanticConcepta6}{
\index{CSemanticConcept@{CSemantic\-Concept}!GetLinks@{GetLinks}}
\index{GetLinks@{GetLinks}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[GetLinks]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{classCLinkMap}{CLink\-Map}$\ast$ CSemantic\-Concept::Get\-Links (const \hyperlink{relation__type_8h_a0}{Relation\-Type} {\em a\_\-relation})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta6}


Gets a link map for a particular type of forward relation. 



Definition at line 139 of file concept.h.

References m\_\-forward\-Links.

Referenced by COMCSNet::Find\-Analogous(), and COMCSNet::Find\-Context().\hypertarget{classCSemanticConcept_CSemanticConcepta2}{
\index{CSemanticConcept@{CSemantic\-Concept}!GetName@{GetName}}
\index{GetName@{GetName}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[GetName]{\setlength{\rightskip}{0pt plus 5cm}std::string CSemantic\-Concept::Get\-Name () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta2}


Gets the concept name. 



Definition at line 100 of file concept.h.

References m\_\-textual\-Name.

Referenced by COMCSNet::Lookup\-String(), and COMCSNet::p\_\-Analogous\-Process\-Backward\-Link().\hypertarget{classCSemanticConcept_CSemanticConcepta0}{
\index{CSemanticConcept@{CSemantic\-Concept}!Load@{Load}}
\index{Load@{Load}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[Load]{\setlength{\rightskip}{0pt plus 5cm}bool CSemantic\-Concept::Load (FILE $\ast$ {\em a\_\-fp}, \hyperlink{classCTextIDMap}{CText\-IDMap} \& {\em a\_\-id\-Map})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta0}


Loads the concept from an open file. 



Definition at line 38 of file concept.h.

References m\_\-concept\-ID, m\_\-textual\-Name, Semantic\-ID, and CText\-IDMap::Store().

Referenced by CConcept\-Map::Load().

Here is the call graph for this function:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=162pt]{classCSemanticConcept_CSemanticConcepta0_cgraph}
\end{center}
\end{figure}
\hypertarget{classCSemanticConcept_CSemanticConceptd1}{
\index{CSemanticConcept@{CSemantic\-Concept}!p_InitBackwardLinks@{p\_\-InitBackwardLinks}}
\index{p_InitBackwardLinks@{p\_\-InitBackwardLinks}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[p\_\-InitBackwardLinks]{\setlength{\rightskip}{0pt plus 5cm}void CSemantic\-Concept::p\_\-Init\-Backward\-Links ()\hspace{0.3cm}{\tt  \mbox{[}inline, private\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConceptd1}


Initializes the backward links data structure. 



Definition at line 248 of file concept.h.

References m\_\-backward\-Links, and MAX\_\-RELATIONS.

Referenced by Add\-Backward\-Link().\hypertarget{classCSemanticConcept_CSemanticConceptd0}{
\index{CSemanticConcept@{CSemantic\-Concept}!p_InitForwardLinks@{p\_\-InitForwardLinks}}
\index{p_InitForwardLinks@{p\_\-InitForwardLinks}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[p\_\-InitForwardLinks]{\setlength{\rightskip}{0pt plus 5cm}void CSemantic\-Concept::p\_\-Init\-Forward\-Links ()\hspace{0.3cm}{\tt  \mbox{[}inline, private\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConceptd0}


Initializes the forward links data structure. 



Definition at line 237 of file concept.h.

References m\_\-forward\-Links, and MAX\_\-RELATIONS.

Referenced by Add\-Link().\hypertarget{classCSemanticConcept_CSemanticConcepta1}{
\index{CSemanticConcept@{CSemantic\-Concept}!Save@{Save}}
\index{Save@{Save}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[Save]{\setlength{\rightskip}{0pt plus 5cm}bool CSemantic\-Concept::Save (FILE $\ast$ {\em a\_\-fp})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConcepta1}


Saves the concept to an open file. 



Definition at line 78 of file concept.h.

References m\_\-concept\-ID, m\_\-textual\-Name, and Semantic\-ID.

\subsection{Member Data Documentation}
\hypertarget{classCSemanticConcept_CSemanticConceptr3}{
\index{CSemanticConcept@{CSemantic\-Concept}!m_backwardLinks@{m\_\-backwardLinks}}
\index{m_backwardLinks@{m\_\-backwardLinks}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[m\_\-backwardLinks]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{classCLinkMap}{CLink\-Map}$\ast$$\ast$ \hyperlink{classCSemanticConcept_CSemanticConceptr3}{CSemantic\-Concept::m\_\-backward\-Links}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConceptr3}


Backward links. 



Definition at line 268 of file concept.h.

Referenced by Add\-Backward\-Link(), CSemantic\-Concept(), Get\-Backward\-Links(), p\_\-Init\-Backward\-Links(), and $\sim$CSemantic\-Concept().\hypertarget{classCSemanticConcept_CSemanticConceptr1}{
\index{CSemanticConcept@{CSemantic\-Concept}!m_conceptID@{m\_\-conceptID}}
\index{m_conceptID@{m\_\-conceptID}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[m\_\-conceptID]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{semantic__id_8h_a0}{Semantic\-ID} \hyperlink{classCSemanticConcept_CSemanticConceptr1}{CSemantic\-Concept::m\_\-concept\-ID}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConceptr1}


Numeric ID for this concept. 



Definition at line 262 of file concept.h.

Referenced by CSemantic\-Concept(), Get\-ID(), Load(), and Save().\hypertarget{classCSemanticConcept_CSemanticConceptr2}{
\index{CSemanticConcept@{CSemantic\-Concept}!m_forwardLinks@{m\_\-forwardLinks}}
\index{m_forwardLinks@{m\_\-forwardLinks}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[m\_\-forwardLinks]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{classCLinkMap}{CLink\-Map}$\ast$$\ast$ \hyperlink{classCSemanticConcept_CSemanticConceptr2}{CSemantic\-Concept::m\_\-forward\-Links}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConceptr2}


Forward links. 



Definition at line 265 of file concept.h.

Referenced by Add\-Link(), CSemantic\-Concept(), Find\-Path\-To(), Get\-Links(), p\_\-Init\-Forward\-Links(), and $\sim$CSemantic\-Concept().\hypertarget{classCSemanticConcept_CSemanticConceptr0}{
\index{CSemanticConcept@{CSemantic\-Concept}!m_textualName@{m\_\-textualName}}
\index{m_textualName@{m\_\-textualName}!CSemanticConcept@{CSemantic\-Concept}}
\subsubsection[m\_\-textualName]{\setlength{\rightskip}{0pt plus 5cm}const std::string$\ast$ \hyperlink{classCSemanticConcept_CSemanticConceptr0}{CSemantic\-Concept::m\_\-textual\-Name}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classCSemanticConcept_CSemanticConceptr0}


Textual name for this concept. 



Definition at line 259 of file concept.h.

Referenced by CSemantic\-Concept(), Find\-Path\-To(), Get\-Name(), Load(), and Save().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
\hyperlink{concept_8h}{concept.h}\item 
\hyperlink{concept_8cpp}{concept.cpp}\end{CompactItemize}
