using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using Casper.Data;
namespace Casper
{
///
/// Interface for the consistency check
///
public interface IConsistent
{
///
/// The constructor.
///
/// Hashtable with the assigned variables.
/// Current assigned variable.
/// Next assigned variable.
///
Boolean Consistent(Hashtable assignedVars, IConsistentVar currAss, IConsistentVar nextAss);
///
/// Executes the expressions using the assigned variable values.
///
/// The expression to execute.
/// Integer representation of expression result.
int ConsistentCheckExpression(CSPExprVarInt rule);
///
/// Executes the expressions using the assigned variable values.
///
/// The expression to execute.
/// Integer representation of expression result.
int ConsistentCheckExpression(CSPExprVarBool rule);
///
/// Executes the expressions using the assigned variable values.
///
/// The expression to execute.
/// Integer representation of expression result.
int ConsistentCheckExpression(CSPExprVarEnum rule);
///
/// Executes the expressions using the assigned variable values.
///
/// The expression to execute.
/// Integer representation of expression result.
int ConsistentCheckExpression(CSPExprValue rule);
///
/// Executes the expressions using the assigned variable values.
///
/// The expression to execute.
/// Integer representation of expression result.
int ConsistentCheckExpression(CSPExprNotNeg rule);
///
/// Executes the expressions using the assigned variable values.
///
/// The expression to execute.
/// Integer representation of expression result.
int ConsistentCheckExpression(CSPExprBin rule);
}
}