Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CriteriaRoot Class Reference

#include <criteria.h>

Inheritance diagram for CriteriaRoot:
CriteriaParent CriteriaNode

Public Member Functions

virtual bool isDestination (unsigned system) const
 
virtual std::string getDescription () const
 
virtual std::string getText () const
 
virtual CriteriaNodeunhook ()
 
virtual CriteriaNodeunhook (CriteriaNode *child)
 
virtual std::vector
< CriteriaNode * > 
getChildren () const
 
CriteriaNodegetChild () const
 
void setChild (CriteriaNode *node)
 
virtual CriteriaNodeclone () const
 
 CriteriaRoot (CriteriaNode *child=NULL)
 
virtual ~CriteriaRoot ()
 
virtual void replaceChild (CriteriaNode *child, CriteriaNode *replacement)
 
- Public Member Functions inherited from CriteriaParent
 CriteriaParent (CriteriaParent *parent=NULL)
 
virtual ~CriteriaParent ()
 
- Public Member Functions inherited from CriteriaNode
 CriteriaNode (CriteriaParent *parent=NULL)
 
virtual ~CriteriaNode ()
 
void setParent (CriteriaParent *parent)
 
CriteriaParentgetParent ()
 

Protected Attributes

CriteriaNodem_child
 

Detailed Description

Definition at line 80 of file criteria.h.

Constructor & Destructor Documentation

CriteriaRoot::CriteriaRoot ( CriteriaNode child = NULL)

Definition at line 105 of file criteria.cpp.

References m_child, and CriteriaNode::setParent().

Referenced by clone().

105  :
106  CriteriaParent( NULL )
107  , m_child( child )
108 {
109  if (m_child)
110  m_child->setParent( this );
111 }
CriteriaRoot::~CriteriaRoot ( )
virtual

Definition at line 113 of file criteria.cpp.

References m_child.

114 {
115  if (m_child)
116  delete m_child;
117 }

Member Function Documentation

CriteriaNode * CriteriaRoot::clone ( ) const
virtual

Implements CriteriaParent.

Definition at line 89 of file criteria.cpp.

References CriteriaNode::clone(), CriteriaRoot(), and m_child.

Referenced by CriteriaPathNode::clone().

90 {
91  CriteriaNode *cloned_child = NULL;
92  if (m_child)
93  cloned_child = m_child->clone();
94  CriteriaRoot *temp = new CriteriaRoot( cloned_child );
95  return temp;
96 }
CriteriaNode* CriteriaRoot::getChild ( ) const
inline

Definition at line 91 of file criteria.h.

References m_child.

92  {
93  return m_child;
94  }
vector< CriteriaNode * > CriteriaRoot::getChildren ( ) const
virtual

Implements CriteriaNode.

Definition at line 81 of file criteria.cpp.

References m_child.

82 {
83  vector< CriteriaNode* >temp;
84  if (m_child)
85  temp.push_back( m_child );
86  return temp;
87 }
string CriteriaRoot::getDescription ( ) const
virtual

Implements CriteriaNode.

Definition at line 50 of file criteria.cpp.

References CriteriaNode::getDescription(), and m_child.

Referenced by CriteriaPathNode::getDescription().

51 {
52  if (m_child)
53  return m_child->getDescription();
54  else
55  return "";
56 }
string CriteriaRoot::getText ( ) const
virtual

Implements CriteriaNode.

Definition at line 58 of file criteria.cpp.

59 {
60  return "";
61 }
bool CriteriaRoot::isDestination ( unsigned  system) const
virtual

Implements CriteriaNode.

Definition at line 42 of file criteria.cpp.

References CriteriaNode::isDestination(), and m_child.

Referenced by CriteriaPathNode::isDestination().

43 {
44  if (m_child)
45  return m_child->isDestination( system );
46  else
47  return false;
48 }
void CriteriaRoot::replaceChild ( CriteriaNode child,
CriteriaNode replacement 
)
virtual

Implements CriteriaParent.

Definition at line 63 of file criteria.cpp.

References m_child.

64 {
65  assert( child == m_child );
66  m_child = replacement;
67 }
void CriteriaRoot::setChild ( CriteriaNode node)

Definition at line 98 of file criteria.cpp.

References m_child, and CriteriaNode::setParent().

99 {
100  m_child = node;
101  if (m_child)
102  m_child->setParent( this );
103 }
CriteriaNode * CriteriaRoot::unhook ( )
virtual

Implements CriteriaNode.

Definition at line 69 of file criteria.cpp.

70 {
71  return NULL;
72 }
CriteriaNode * CriteriaRoot::unhook ( CriteriaNode child)
virtual

Implements CriteriaParent.

Definition at line 74 of file criteria.cpp.

References m_child.

75 {
76  assert( child == m_child );
77  m_child = NULL;
78  return child;
79 }

Member Data Documentation

CriteriaNode* CriteriaRoot::m_child
protected

The documentation for this class was generated from the following files: