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

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

#include <Handle_MAT_TListNodeOfListOfBisector.hxx>
#include <Standard_Integer.hxx>
#include <MMgt_TShared.hxx>
#include <Handle_MAT_Bisector.hxx>
#include <Standard_Boolean.hxx>
class MAT_TListNodeOfListOfBisector;
class MAT_Bisector;



class MAT_ListOfBisector : public MMgt_TShared
{

public:

  
  Standard_EXPORT MAT_ListOfBisector();
  
  Standard_EXPORT   void First() ;
  
  Standard_EXPORT   void Last() ;
  
  Standard_EXPORT   void Init (const Handle(MAT_Bisector)& aniten) ;
  
  Standard_EXPORT   void Next() ;
  
  Standard_EXPORT   void Previous() ;
  
  Standard_EXPORT   Standard_Boolean More()  const;
  
  Standard_EXPORT   Handle(MAT_Bisector) Current()  const;
  
  Standard_EXPORT   void Current (const Handle(MAT_Bisector)& anitem)  const;
  
  Standard_EXPORT   Handle(MAT_Bisector) FirstItem()  const;
  
  Standard_EXPORT   Handle(MAT_Bisector) LastItem()  const;
  
  Standard_EXPORT   Handle(MAT_Bisector) PreviousItem()  const;
  
  Standard_EXPORT   Handle(MAT_Bisector) NextItem()  const;
  
      Standard_Integer Number()  const;
  
      Standard_Integer Index()  const;
  
  Standard_EXPORT   Handle(MAT_Bisector) Brackets (const Standard_Integer anindex) ;
  Handle(MAT_Bisector) operator() (const Standard_Integer anindex) 
{
  return Brackets(anindex);
}
  
  Standard_EXPORT   void Unlink() ;
  
  Standard_EXPORT   void LinkBefore (const Handle(MAT_Bisector)& anitem) ;
  
  Standard_EXPORT   void LinkAfter (const Handle(MAT_Bisector)& anitem) ;
  
  Standard_EXPORT   void FrontAdd (const Handle(MAT_Bisector)& anitem) ;
  
  Standard_EXPORT   void BackAdd (const Handle(MAT_Bisector)& anitem) ;
  
  Standard_EXPORT   void Permute() ;
  
  Standard_EXPORT   void Loop()  const;
  
  Standard_EXPORT   Standard_Boolean IsEmpty()  const;
  
  Standard_EXPORT   void Dump (const Standard_Integer ashift, const Standard_Integer alevel) ;




  DEFINE_STANDARD_RTTI(MAT_ListOfBisector)

protected:




private: 


  Handle(MAT_TListNodeOfListOfBisector) thefirstnode;
  Handle(MAT_TListNodeOfListOfBisector) thelastnode;
  Handle(MAT_TListNodeOfListOfBisector) thecurrentnode;
  Standard_Integer thecurrentindex;
  Standard_Integer thenumberofitems;


};

#define Item Handle(MAT_Bisector)
#define Item_hxx <MAT_Bisector.hxx>
#define MAT_TListNode MAT_TListNodeOfListOfBisector
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfBisector.hxx>
#define Handle_MAT_TListNode Handle_MAT_TListNodeOfListOfBisector
#define MAT_TListNode_Type_() MAT_TListNodeOfListOfBisector_Type_()
#define MAT_TList MAT_ListOfBisector
#define MAT_TList_hxx <MAT_ListOfBisector.hxx>
#define Handle_MAT_TList Handle_MAT_ListOfBisector
#define MAT_TList_Type_() MAT_ListOfBisector_Type_()

#include <MAT_TList.lxx>

#undef Item
#undef Item_hxx
#undef MAT_TListNode
#undef MAT_TListNode_hxx
#undef Handle_MAT_TListNode
#undef MAT_TListNode_Type_
#undef MAT_TList
#undef MAT_TList_hxx
#undef Handle_MAT_TList
#undef MAT_TList_Type_




#endif // _MAT_ListOfBisector_HeaderFile
