// 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 _Units_UnitSentence_HeaderFile
#define _Units_UnitSentence_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Units_Sentence.hxx>
#include <Standard_CString.hxx>
#include <Handle_Units_QuantitiesSequence.hxx>
class Units_QuantitiesSequence;


//! This   class describes   all    the  facilities to
//! manipulate and compute units contained in a string
//! expression.
class Units_UnitSentence  : public Units_Sentence
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Creates   and   returns a   UnitSentence.   The string
  //! <astring> describes in natural  language the  unit  or
  //! the composed unit to be analysed.
  Standard_EXPORT Units_UnitSentence(const Standard_CString astring);
  
  //! Creates  and returns    a  UnitSentence.  The   string
  //! <astring> describes in natural language the unit to be
  //! analysed.   The    sequence     of physical quantities
  //! <asequenceofquantities>   describes    the   available
  //! dictionary of units you want to use.
  Standard_EXPORT Units_UnitSentence(const Standard_CString astring, const Handle(Units_QuantitiesSequence)& aquantitiessequence);
  
  //! Analyzes   the sequence  of   tokens  created  by  the
  //! constructor to  find  the true significance   of  each
  //! token.
  Standard_EXPORT   void Analyse() ;
  
  //! For each token which  represents a unit, finds  in the
  //! sequence    of    physical   quantities      all   the
  //! characteristics of the unit found.
  Standard_EXPORT   void SetUnits (const Handle(Units_QuantitiesSequence)& aquantitiessequence) ;




protected:





private:





};







#endif // _Units_UnitSentence_HeaderFile
