// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _ExprIntrp_Generator_HeaderFile
#define _ExprIntrp_Generator_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_ExprIntrp_Generator.hxx>

#include <ExprIntrp_SequenceOfNamedFunction.hxx>
#include <ExprIntrp_SequenceOfNamedExpression.hxx>
#include <MMgt_TShared.hxx>
#include <Handle_Expr_NamedFunction.hxx>
#include <Handle_Expr_NamedExpression.hxx>
class Expr_NamedFunction;
class Expr_NamedExpression;
class ExprIntrp_SequenceOfNamedExpression;
class ExprIntrp_SequenceOfNamedFunction;
class TCollection_AsciiString;


//! Implements general services for interpretation of
//! expressions.
class ExprIntrp_Generator : public MMgt_TShared
{

public:

  
  Standard_EXPORT   void Use (const Handle(Expr_NamedFunction)& func) ;
  
  Standard_EXPORT   void Use (const Handle(Expr_NamedExpression)& named) ;
  
  Standard_EXPORT  const  ExprIntrp_SequenceOfNamedExpression& GetNamed()  const;
  
  Standard_EXPORT  const  ExprIntrp_SequenceOfNamedFunction& GetFunctions()  const;
  
  //! Returns NamedExpression with name <name> already
  //! interpreted if it exists. Returns a null handle if
  //! not.
  Standard_EXPORT   Handle(Expr_NamedExpression) GetNamed (const TCollection_AsciiString& name)  const;
  
  //! Returns NamedFunction with name <name> already
  //! interpreted if it exists. Returns a null handle if
  //! not.
  Standard_EXPORT   Handle(Expr_NamedFunction) GetFunction (const TCollection_AsciiString& name)  const;




  DEFINE_STANDARD_RTTI(ExprIntrp_Generator)

protected:

  
  Standard_EXPORT ExprIntrp_Generator();



private: 


  ExprIntrp_SequenceOfNamedFunction myFunctions;
  ExprIntrp_SequenceOfNamedExpression myNamed;


};







#endif // _ExprIntrp_Generator_HeaderFile
