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

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

#include <IFSelect_SelectExtract.hxx>
#include <Handle_Standard_Type.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
#include <Handle_Standard_Transient.hxx>
#include <Handle_Interface_InterfaceModel.hxx>
class Standard_Type;
class Standard_Transient;
class Interface_InterfaceModel;


//! A SelectAnyType sorts the Entities of which the Type is Kind
//! of a given Type : this Type for Match is specific of each
//! class of SelectAnyType
class IFSelect_SelectAnyType : public IFSelect_SelectExtract
{

public:

  
  //! Returns the Type which has to be matched for select
  Standard_EXPORT virtual   Handle(Standard_Type) TypeForMatch()  const = 0;
  
  //! Returns True for an Entity (model->Value(num)) which is kind
  //! of the choosen type, given by the method TypeForMatch.
  //! Criterium is IsKind.
  Standard_EXPORT   Standard_Boolean Sort (const Standard_Integer rank, const Handle(Standard_Transient)& ent, const Handle(Interface_InterfaceModel)& model)  const;




  DEFINE_STANDARD_RTTI(IFSelect_SelectAnyType)

protected:




private: 




};







#endif // _IFSelect_SelectAnyType_HeaderFile
