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

#include <criteria.h>

Inheritance diagram for CriteriaAnd:
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
 
 CriteriaAnd (CriteriaNode *child, CriteriaNode *newNode)
 
virtual ~CriteriaAnd ()
 
- 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 152 of file criteria.h.

Constructor & Destructor Documentation

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

Definition at line 160 of file criteria.h.

Referenced by clone().

160  :
161  CriteriaBinaryOperator( child, newNode ) {}
virtual CriteriaAnd::~CriteriaAnd ( )
inlinevirtual

Definition at line 162 of file criteria.h.

162 {}

Member Function Documentation

CriteriaNode * CriteriaAnd::clone ( ) const
virtual

Implements CriteriaBinaryOperator.

Definition at line 286 of file criteria.cpp.

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

287 {
288  assert( m_left );
289  assert( m_right );
290 
291  CriteriaNode *cloned_left = m_left->clone();
292  CriteriaNode *cloned_right = m_right->clone();
293 
294  CriteriaAnd *temp = new CriteriaAnd( cloned_left, cloned_right );
295  return temp;
296 }
string CriteriaAnd::getDescription ( ) const
virtual

Implements CriteriaNode.

Definition at line 268 of file criteria.cpp.

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

269 {
270  assert( m_left != NULL );
271  assert( m_right != NULL );
272 
273  string temp = "(";
274  temp += m_left->getDescription();
275  temp += " AND ";
276  temp += m_right->getDescription();
277  temp += ")";
278  return temp;
279 }
string CriteriaAnd::getText ( ) const
virtual

Implements CriteriaNode.

Definition at line 281 of file criteria.cpp.

282 {
283  return "AND";
284 }
bool CriteriaAnd::isDestination ( unsigned  system) const
virtual

Implements CriteriaNode.

Definition at line 260 of file criteria.cpp.

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

261 {
262  assert( m_left != NULL );
263  assert( m_right != NULL );
264 
265  return m_left->isDestination( system ) && m_right->isDestination( system );
266 }

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