/*
 * 	And.h
 *
 *	Date 20/01/06
 *
 *	Copyright Piquier Production
 *
 *	Author : Dave Studio
 *
 */
#ifndef IMPLICATION_H
#define IMPLICATION_H

#include <string>
#include "Operator.h"
#include "FuzzyValue.h"
#include "FuzzyValueName.h"

class Implication : public Operator{

public:

	/**
	 *Constructor
	 */
	Implication();

	/**
	 *Destructor
	 */
	~Implication();

	/**
	 *operate : Do the operation implication
	 * 
	 *@param v1 : First operande
	 *@param v2 : Second operande
	 * 
	 *@return FuzzyValue : The FuzzyValue result of the FuzzyRule after
	 * 					   evaluation
	 * 
	 */
	FuzzyValue operate(FuzzyValue* v1, FuzzyValue* v2);

	/**
	 *toString : return "=>"
	 * 
	 *@param void
	 * 
	 *@return std::string : "=>"
	 * 
	 */
	std::string toString();

};


#endif