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
CriteriaOr Class Reference

#include <criteria.h>

Inheritance diagram for CriteriaOr:
CriteriaBinaryOperator CriteriaParent CriteriaNode

Public Member Functions

virtual bool isDestination (unsigned system) const
 
virtual std::string getDescription () const
 
virtual std::string getText () const
 
virtual CriteriaNodeclone () const
 
 CriteriaOr (CriteriaNode *child, CriteriaNode *newNode)
 
virtual ~CriteriaOr ()
 
- Public Member Functions inherited from CriteriaBinaryOperator
virtual CriteriaNodeunhook ()
 
virtual CriteriaNodeunhook (CriteriaNode *child)
 
virtual std::vector
< CriteriaNode * > 
getChildren () const
 
 CriteriaBinaryOperator (CriteriaNode *child, CriteriaNode *newNode)
 
virtual ~CriteriaBinaryOperator ()
 
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 ()
 

Additional Inherited Members

- Protected Attributes inherited from CriteriaBinaryOperator
CriteriaNodem_left
 
CriteriaNodem_right
 

Detailed Description

Definition at line 167 of file criteria.h.

Constructor & Destructor Documentation

CriteriaOr::CriteriaOr ( CriteriaNode child,
CriteriaNode newNode 
)
inline

Definition at line 175 of file criteria.h.

Referenced by clone().

175  :
176  CriteriaBinaryOperator( child, newNode ) {}
virtual CriteriaOr::~CriteriaOr ( )
inlinevirtual

Definition at line 177 of file criteria.h.

177 {}

Member Function Documentation

CriteriaNode * CriteriaOr::clone ( ) const
virtual

Implements CriteriaBinaryOperator.

Definition at line 326 of file criteria.cpp.

References CriteriaNode::clone(), CriteriaOr(), CriteriaBinaryOperator::m_left, and CriteriaBinaryOperator::m_right.

327 {
328  assert( m_left );
329  assert( m_right );
330 
331  CriteriaNode *cloned_left = m_left->clone();
332  CriteriaNode *cloned_right = m_right->clone();
333 
334  CriteriaOr *temp = new CriteriaOr( cloned_left, cloned_right );
335  return temp;
336 }
string CriteriaOr::getDescription ( ) const
virtual

Implements CriteriaNode.

Definition at line 308 of file criteria.cpp.

References CriteriaNode::getDescription(), CriteriaBinaryOperator::m_left, and CriteriaBinaryOperator::m_right.

309 {
310  assert( m_left != NULL );
311  assert( m_right != NULL );
312 
313  string temp = "(";
314  temp += m_left->getDescription();
315  temp += " OR ";
316  temp += m_right->getDescription();
317  temp += ")";
318  return temp;
319 }
string CriteriaOr::getText ( ) const
virtual

Implements CriteriaNode.

Definition at line 321 of file criteria.cpp.

322 {
323  return "OR";
324 }
bool CriteriaOr::isDestination ( unsigned  system) const
virtual

Implements CriteriaNode.

Definition at line 300 of file criteria.cpp.

References CriteriaNode::isDestination(), CriteriaBinaryOperator::m_left, and CriteriaBinaryOperator::m_right.

301 {
302  assert( m_left != NULL );
303  assert( m_right != NULL );
304 
305  return m_left->isDestination( system ) || m_right->isDestination( system );
306 }

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