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

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_AIS2D_HSequenceOfIO_HeaderFile
#include <Handle_AIS2D_HSequenceOfIO.hxx>
#endif

#ifndef _AIS2D_SequenceOfIO_HeaderFile
#include <AIS2D_SequenceOfIO.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Handle_AIS2D_InteractiveObject_HeaderFile
#include <Handle_AIS2D_InteractiveObject.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Standard_NoSuchObject;
class Standard_OutOfRange;
class AIS2D_InteractiveObject;
class AIS2D_SequenceOfIO;



class AIS2D_HSequenceOfIO : public MMgt_TShared {

public:

  
      AIS2D_HSequenceOfIO();
  
        Standard_Boolean IsEmpty() const;
  
        Standard_Integer Length() const;
  
  Standard_EXPORT     void Clear() ;
  
  Standard_EXPORT     void Append(const Handle(AIS2D_InteractiveObject)& anItem) ;
  
  Standard_EXPORT     void Append(const Handle(AIS2D_HSequenceOfIO)& aSequence) ;
  
  Standard_EXPORT     void Prepend(const Handle(AIS2D_InteractiveObject)& anItem) ;
  
  Standard_EXPORT     void Prepend(const Handle(AIS2D_HSequenceOfIO)& aSequence) ;
  
  Standard_EXPORT     void Reverse() ;
  
  Standard_EXPORT     void InsertBefore(const Standard_Integer anIndex,const Handle(AIS2D_InteractiveObject)& anItem) ;
  
  Standard_EXPORT     void InsertBefore(const Standard_Integer anIndex,const Handle(AIS2D_HSequenceOfIO)& aSequence) ;
  
  Standard_EXPORT     void InsertAfter(const Standard_Integer anIndex,const Handle(AIS2D_InteractiveObject)& anItem) ;
  
  Standard_EXPORT     void InsertAfter(const Standard_Integer anIndex,const Handle(AIS2D_HSequenceOfIO)& aSequence) ;
  
  Standard_EXPORT     void Exchange(const Standard_Integer anIndex,const Standard_Integer anOtherIndex) ;
  
  Standard_EXPORT     Handle_AIS2D_HSequenceOfIO Split(const Standard_Integer anIndex) ;
  
  Standard_EXPORT     void SetValue(const Standard_Integer anIndex,const Handle(AIS2D_InteractiveObject)& anItem) ;
  
  Standard_EXPORT    const Handle_AIS2D_InteractiveObject& Value(const Standard_Integer anIndex) const;
  
  Standard_EXPORT     Handle_AIS2D_InteractiveObject& ChangeValue(const Standard_Integer anIndex) ;
  
  Standard_EXPORT     void Remove(const Standard_Integer anIndex) ;
  
  Standard_EXPORT     void Remove(const Standard_Integer fromIndex,const Standard_Integer toIndex) ;
  
       const AIS2D_SequenceOfIO& Sequence() const;
  
        AIS2D_SequenceOfIO& ChangeSequence() ;
  
  Standard_EXPORT     Handle_AIS2D_HSequenceOfIO ShallowCopy() const;




  DEFINE_STANDARD_RTTI(AIS2D_HSequenceOfIO)

protected:




private: 


AIS2D_SequenceOfIO mySequence;


};

#define Item Handle_AIS2D_InteractiveObject
#define Item_hxx <AIS2D_InteractiveObject.hxx>
#define TheSequence AIS2D_SequenceOfIO
#define TheSequence_hxx <AIS2D_SequenceOfIO.hxx>
#define TCollection_HSequence AIS2D_HSequenceOfIO
#define TCollection_HSequence_hxx <AIS2D_HSequenceOfIO.hxx>
#define Handle_TCollection_HSequence Handle_AIS2D_HSequenceOfIO
#define TCollection_HSequence_Type_() AIS2D_HSequenceOfIO_Type_()

#include <TCollection_HSequence.lxx>

#undef Item
#undef Item_hxx
#undef TheSequence
#undef TheSequence_hxx
#undef TCollection_HSequence
#undef TCollection_HSequence_hxx
#undef Handle_TCollection_HSequence
#undef TCollection_HSequence_Type_


// other Inline functions and methods (like "C++: function call" methods)
inline Handle_AIS2D_HSequenceOfIO ShallowCopy(const Handle_AIS2D_HSequenceOfIO& me) {
 return me->ShallowCopy();
}



#endif
