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

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

#include <TDF_LabelMap.hxx>
#include <TDF_Attribute.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_TDF_Attribute.hxx>
#include <Handle_TDF_RelocationTable.hxx>
#include <Standard_OStream.hxx>
class TDF_Label;
class TDF_LabelMap;
class Standard_GUID;
class TDF_Attribute;
class TDF_RelocationTable;


//! Transient     attribute   wich     register modified
//! labels. This attribute is attached to root label.
class TDocStd_Modified : public TDF_Attribute
{

public:

  
  //! API class methods
  //! =================
  Standard_EXPORT static   Standard_Boolean IsEmpty (const TDF_Label& access) ;
  
  Standard_EXPORT static   Standard_Boolean Add (const TDF_Label& alabel) ;
  
  Standard_EXPORT static   Standard_Boolean Remove (const TDF_Label& alabel) ;
  
  Standard_EXPORT static   Standard_Boolean Contains (const TDF_Label& alabel) ;
  
  //! if <IsEmpty> raise an exception.
  Standard_EXPORT static  const  TDF_LabelMap& Get (const TDF_Label& access) ;
  
  //! remove all modified labels. becomes empty
  Standard_EXPORT static   void Clear (const TDF_Label& access) ;
  
  //! Modified methods
  //! ================
  Standard_EXPORT static  const  Standard_GUID& GetID() ;
  
  Standard_EXPORT TDocStd_Modified();
  
  Standard_EXPORT   Standard_Boolean IsEmpty()  const;
  
  Standard_EXPORT   void Clear() ;
  
  //! add <L> as modified
  Standard_EXPORT   Standard_Boolean AddLabel (const TDF_Label& L) ;
  
  //! remove  <L> as modified
  Standard_EXPORT   Standard_Boolean RemoveLabel (const TDF_Label& L) ;
  
  //! returns modified label map
  Standard_EXPORT  const  TDF_LabelMap& Get()  const;
  
  Standard_EXPORT  const  Standard_GUID& ID()  const;
  
  Standard_EXPORT   void Restore (const Handle(TDF_Attribute)& With) ;
  
  Standard_EXPORT   Handle(TDF_Attribute) NewEmpty()  const;
  
  Standard_EXPORT   void Paste (const Handle(TDF_Attribute)& Into, const Handle(TDF_RelocationTable)& RT)  const;
  
  Standard_EXPORT virtual   Standard_OStream& Dump (Standard_OStream& anOS)  const;




  DEFINE_STANDARD_RTTI(TDocStd_Modified)

protected:




private: 


  TDF_LabelMap myModified;


};







#endif // _TDocStd_Modified_HeaderFile
