#include <libwccl/ops/functions/bool/predicates/nor.h>
#include <libpwrutils/foreach.h>

namespace Wccl {

Nor::BaseRetValPtr Nor::apply_internal(const FunExecContext& context) const
{
	foreach(BoolFunctionPtr expression, *expressions_) {
		if(expression->apply(context)->get_value()) {
			return Predicate::False(context);
		}
	}
	return Predicate::True(context);
}

} /* end ns Wccl */