4
Copyright (C) 2005-2009 Julien Jorge, Sebastien Angibaud
6
This program is free software; you can redistribute it and/or modify it
7
under the terms of the GNU General Public License as published by the
8
Free Software Foundation; either version 2 of the License, or (at your
9
option) any later version.
11
This program is distributed in the hope that it will be useful, but WITHOUT
12
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16
You should have received a copy of the GNU General Public License along
17
with this program; if not, write to the Free Software Foundation, Inc.,
18
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
contact: plee-the-bear@gamned.org
22
Please add the tag [Bear] in the subject of your mails.
25
* \file logical_xor.cpp
26
* \brief Implementation of the bear::engine::logical_xor class.
27
* \author Julien Jorge.
29
#include "engine/expr/logical_xor.hpp"
31
/*----------------------------------------------------------------------------*/
34
* \param left The left operand.
35
* \param right The right operand.
37
bear::engine::logical_xor::logical_xor
38
( const boolean_expression& left, const boolean_expression& right )
39
: m_left(left), m_right(right)
42
} // logical_xor::logical_xor()
44
/*----------------------------------------------------------------------------*/
46
* \brief Create a copy of this expression.
48
bear::engine::base_boolean_expression* bear::engine::logical_xor::clone() const
50
return new logical_xor(*this);
51
} // logical_xor::logical_xor()
53
/*----------------------------------------------------------------------------*/
55
* \brief Evaluate the expression.
57
bool bear::engine::logical_xor::evaluate() const
59
return m_left.evaluate() ^ m_right.evaluate();
60
} // logical_xor::evaluate()