mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-01-12 03:31:49 +00:00
Add conditional operator to simple expressions
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
#include "SimpleExpressionConditionalOperator.h"
|
||||
|
||||
SimpleExpressionConditionalOperator::SimpleExpressionConditionalOperator()
|
||||
= default;
|
||||
|
||||
SimpleExpressionConditionalOperator::SimpleExpressionConditionalOperator(std::unique_ptr<ISimpleExpression> condition, std::unique_ptr<ISimpleExpression> trueExpression,
|
||||
std::unique_ptr<ISimpleExpression> falseExpression)
|
||||
: m_condition(std::move(condition)),
|
||||
m_true_value(std::move(trueExpression)),
|
||||
m_false_value(std::move(falseExpression))
|
||||
{
|
||||
}
|
||||
|
||||
bool SimpleExpressionConditionalOperator::IsStatic()
|
||||
{
|
||||
return m_condition->IsStatic() && m_true_value->IsStatic() && m_false_value->IsStatic();
|
||||
}
|
||||
|
||||
SimpleExpressionValue SimpleExpressionConditionalOperator::Evaluate()
|
||||
{
|
||||
return m_condition->Evaluate().IsTruthy() ? m_true_value->Evaluate() : m_false_value->Evaluate();
|
||||
}
|
||||
Reference in New Issue
Block a user